Anonymous
Зачем?
action creator (redux) хочу свой написать
파쇼크
Можно имя переменной заранее сохранить в строку. name = 'test'; window[name] = new Class();
Andrey 😼
Я не силён в редаксе, но нахрена там все создают константы с значением, равным имени константы, когда можно везде сразу передавать значение?
Anonymous
Смысл в том, что бы сократить максимально код
Andrey 😼
А просто писать type: ‘ABC’ вместо const ABC = ‘ABC’ … type: ABC?
Anonymous
Я хочу иметь функцию, которая будет иметь название и при ее вызове будет возвращаться объект с полем type в котором содержится ее название
Anonymous
А просто писать type: ‘ABC’ вместо const ABC = ‘ABC’ … type: ABC?
константа эта потом в другом месте используется
Oleg
(не то написал, недочитал)
Anonymous
Function statement name ?
Дай мне код
Anonymous
:)
Andrey 😼
class A def method_missing name { type: name } end end A.new.lol #=> { type: :lol } Вот так бы оно выглядело на рубях, но без понятия, как это сделать на js
Andrey 😼
https://learn.javascript.ru/proxy
Oleg
Не стал построчно расписывать, но думаю принцип ясен и всё есть из коробки
Andrey 😼
Оно?
Andrey 😼
Другого похожего на задачу не придумал
Sergio
лол
Anonymous
Нужно что бы работало так
Andrey 😼
Ты пытаешься узнать имя переменной
Anonymous
response* конечно
Anonymous
да
Andrey 😼
К которой присваиваешь инстанс класса
Andrey 😼
Сомневаюсь, что оно возможно
Евгений
Я как то упустил, зачем тебе это
Sergio
невозможно, этож ссылка в одну сторону
Anonymous
Ша про Proxy почитаю
Andrey 😼
Andrey 😼
Вот
Andrey 😼
Anonymous
хм
Andrey 😼
파쇼크
а неплохо вы тут упоролись
Anonymous
Это выглядит очень похоже на то что нужно, есть еще пара аспектов, сейчас вникну, отпишусь через пол часика. Спасибо!
Andrey 😼
а неплохо вы тут упоролись
Какие задачи - такие и решения 👩‍⚕️
Andrey 😼
Ктож виноват, что не завезли в js столько же метапрограммирования, сколько в руби
파쇼크
То ли еще будет
Evgeny
Не знаю кидали сюда или нет. https://github.com/dexteryy/spellbook-of-modern-webdev
Anonymous
function test(){} test.toString = () => 'test' test == 'test' // true test === 'test' // false Как сделать??!? test === 'test' // true
Anonymous
Или типо строгое сравнение на то и строгое сравнение?)
Anonymous
Оно же преобразование типов не делает, точно...
Daniil
вы хотите чтобы функция была тождественна строке?
Anonymous
=(
-Lia- Лена 🦋 Lime
Вы в
Oleg
Возможно вопрос про что-то типа того? function a() {}; a.toString = () => 'test'; a + '!' // 'test!'
Anonymous
ну да
Oleg
А строгое сравнение не вызывает тустринг, оно сразу смотрит типы и если нет - увы, никакие ухищрения не сработают.... впрочем, в этом и суть строгого сравнения
Anonymous
Я то не против, проблема втом, что в свитче строгое сравнение... Ну это для меня проблема)
Oleg
Вот оно что
Oleg
Тогда да, увы
Oleg
Свитча с нестрогим нет
Oleg
Уже ответил
Дима
И твой код сломается о первый же минификатор
Дима
🎉
Oleg
Есть))
Нативного нет
Oleg
Ну если так, то да, есть
Дима
В case просто работает любой код, даже await можно
Oleg
Да, я юзал в таком виде, не часто правда, как и сам кэйс не часто пригождается
Anonymous
function test () { return this.name } console.log(test()) //'' ЧЯДНТ?
Kirill
Oleg
new забыл
Oleg
Или хочется получить имя функции из функции?
Anatoly
это какая-то тёмная магия
Oleg
Если да, то function test () { return test.name; }
Oleg
Но - странно это всё
Kirill
arguments.callee.name можно
Oleg
Это депрекейтед
Anonymous
Ага
Kirill
ага
Oleg
ES5 уже не любит это