Size: a a a

2021 January 14

R

Rafael in javascript_ru
Константин
я просто в некоторых случаях могу вызвать new, вот мне нужно чекнуть что это es6 класс и нужен изъеб..
Вроде в es6 свойство prototype сконфигурировано как только для чтения и не конфигурируемо. Можно на это завязаться
источник

j

javascript@conferenc... in javascript_ru
EGD
писали бы на прототипах и горя не знали
источник

К

Константин in javascript_ru
Я искал способ только классы эмитить в es5, остально не трогать
источник

К

Константин in javascript_ru
но такое сорян, не дано - никто не умеет так делать.
Все фигачат если es5 - то весь синтаксис.
источник

К

Константин in javascript_ru
Ну или я не смог найти магический кофиг бабаеля, чтобы он ничего кроме классов не трогал.
источник

К

Константин in javascript_ru
Rafael
Вроде в es6 свойство prototype сконфигурировано как только для чтения и не конфигурируемо. Можно на это завязаться
Да, writable  = false, ну и имя начинается с class (в toString)
источник

К

Константин in javascript_ru
источник

К

Константин in javascript_ru
Ох, могу натравить трансформ, чтобы он вырезал мне все конструкторы
источник

j

javascript@conferenc... in javascript_ru
EGD
а в чём проблема7
источник

К

Константин in javascript_ru
О, рефлект еще пригодился наконец-то
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/construct
источник

К

Константин in javascript_ru
javascript@conference.jabber.ru
EGD
писали бы на прототипах и горя не знали
Есть упоротый метод - чейн на прототипах.
Те это валидно:

class A { 
      constructor() {
                console.log(this.b)
      }
}

Reflect.setPrototypeOf(A.prototype, {b: 10});

new A() => '10'
источник

j

javascript@conferenc... in javascript_ru
EGD
пока всё логично
источник

К

Константин in javascript_ru
без рефлекта в классе нельзя этого сделать как оказалось.
Вообще
источник

К

Константин in javascript_ru
учимся плохому:


function callConstructorLate(obj, ctor, ...args) {
      class Target extends ctor {};
      Reflect.setPrototypeOf(obj, ctor.prototype);
      Reflect.setPrototypeOf(Target.prototype, obj);
      return Reflect.construct(Target, args, ctor);
}
источник

DD

Do Din in javascript_ru
Всем привет
    $('#customer_register').on('click',function(){
                       $('#simplecheckout_login .simplecheckout-block-content ').css({'display': 'none'});
                       $('#simplecheckout_customer .simplecheckout-block-content>fieldset:nth-child(2 ').css({'display': 'block'});
               });

Подскажите почему не выполняется код при нажатии, а в консоле выполняется
источник

S

Syntax Highlight Bot in javascript_ru
Do Din
Всем привет
    $('#customer_register').on('click',function(){
                       $('#simplecheckout_login .simplecheckout-block-content ').css({'display': 'none'});
                       $('#simplecheckout_customer .simplecheckout-block-content>fieldset:nth-child(2 ').css({'display': 'block'});
               });

Подскажите почему не выполняется код при нажатии, а в консоле выполняется
источник

EP

Egor Petrov in javascript_ru
Do Din
Всем привет
    $('#customer_register').on('click',function(){
                       $('#simplecheckout_login .simplecheckout-block-content ').css({'display': 'none'});
                       $('#simplecheckout_customer .simplecheckout-block-content>fieldset:nth-child(2 ').css({'display': 'block'});
               });

Подскажите почему не выполняется код при нажатии, а в консоле выполняется
Что ты имеешь ввиду?
источник

j

javascript@conferenc... in javascript_ru
EGD
1. не существует #customer_register когда навешиваешь событие
2. не существует #simplecheckout_login/#simplecheckout_customer когда срабатывает событие
источник

j

javascript@conferenc... in javascript_ru
EGD
> .css({'display': 'none'});
есть $.hide() и $.show()
источник

DD

Do Din in javascript_ru
javascript@conference.jabber.ru
EGD
> .css({'display': 'none'});
есть $.hide() и $.show()
понял
источник