Size: a a a

2019 May 05

DE

Denis Efremov in javascript_ru
Ты бы статически задал?
источник

DE

Denis Efremov in javascript_ru
Я думал об этом
источник

НС

Никита Сковорода in javascript_ru
LitElement задаёт статически.
На самом деле с точки зрения производительности/памяти не важно абсолютно, это скорее сделано чтобы не загрязнать экземпляры класса лишними свойствами. Наверное.
источник

НС

Никита Сковорода in javascript_ru
источник

НС

Никита Сковорода in javascript_ru
Хотя тут другой момент есть.
источник

НС

Никита Сковорода in javascript_ru
Они различатся ещё кое-чем.
источник

DE

Denis Efremov in javascript_ru
Никита Сковорода
Они различатся ещё кое-чем.
Сгораю от любопытства
источник

DE

Denis Efremov in javascript_ru
Никита Сковорода
Они различатся ещё кое-чем.
https://github.com/Polymer/lit-element/blob/master/src/lit-element.ts

Хорошо, что много комментов в коде. Однако стилечек такой себе...
источник

НС

Никита Сковорода in javascript_ru
Denis Efremov
Сгораю от любопытства
> class A { static get foo() { return ['a'] } }
undefined
> class B extends A { static get foo() { return ['b'] } }
undefined
> const trace = x => { for (let c = x.constructor; c !== null; c = Object.getPrototypeOf(c)) if (c.foo) console.log(c.foo) }
undefined
> const x = new B
undefined
> x.foo
undefined
> x.constructor.foo
[ 'b' ]
> trace(x)
[ 'b' ]
[ 'a' ]
undefined
>
источник

S

Syntax Highlight Bot in javascript_ru
Никита Сковорода
> class A { static get foo() { return ['a'] } }
undefined
> class B extends A { static get foo() { return ['b'] } }
undefined
> const trace = x => { for (let c = x.constructor; c !== null; c = Object.getPrototypeOf(c)) if (c.foo) console.log(c.foo) }
undefined
> const x = new B
undefined
> x.foo
undefined
> x.constructor.foo
[ 'b' ]
> trace(x)
[ 'b' ]
[ 'a' ]
undefined
>
источник

НС

Никита Сковорода in javascript_ru
Держи.
источник

НС

Никита Сковорода in javascript_ru
Так легче вытащить цепочку, если несколько вложенных классов каждый доопределяет свои свойства.
источник

НС

Никита Сковорода in javascript_ru
Если задавать функцию на прототипе — это тоже можно сделать, очевидно, но это уже несколько больший костыль получится.
источник

НС

Никита Сковорода in javascript_ru
источник

DE

Denis Efremov in javascript_ru
Никита Сковорода
Если задавать функцию на прототипе — это тоже можно сделать, очевидно, но это уже несколько больший костыль получится.
Пока мне не нужна цепочка. Как понадобится - перепишу. Но я боюсь потерять что-то более важное. Я не скажу что именно, надо думать.
источник

DE

Denis Efremov in javascript_ru
Я там был
источник

DE

Denis Efremov in javascript_ru
Нихуя не понял
источник

НС

Никита Сковорода in javascript_ru
> super(...arguments)
за что?
источник

НС

Никита Сковорода in javascript_ru
arguments это ересь
источник

НС

Никита Сковорода in javascript_ru
С constructor(…args) { super(…args) } оно будет работать?
источник