Size: a a a

2019 April 29

S

Syntax Highlight Bot in javascript_ru
Никита Сковорода
> new URL('//вася@ложкин.example.com', 'https://example.com').hostname
'xn--f1aefcnc.example.com'
источник

НС

Никита Сковорода in javascript_ru
Pavel Ovchinnikov
есть мнение что вот эти 5% юзеров IE это тестировщики и верстальщики
Роботы =)
источник

НС

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

НС

Никита Сковорода in javascript_ru
🎄Victor Ponamariov
аргумент)
Цена/время с поддержкой/тестированием ие11 и цена/время без поддержки/тестирования ие11 — аргумент 😉
источник

🎄P

🎄Victor Ponamariov in javascript_ru
Согласен)
источник

DE

Denis Efremov in javascript_ru
источник

DE

Denis Efremov in javascript_ru
Всем привет! Помогите разобраться с js пожалуйста 🙂
Есть два класса:
class One {
setValue = () => {
  console.log('One -> setValue')
}
}

class Two extends One {
setValue() {
  super.setValue()
  console.log('Two -> setValue')
}
}

const ins = new Two()
ins.setValue();

Не могу понять почему вызывается только 'One -> setValue' и не вызывается 'Two -> setValue'?
источник

S

Syntax Highlight Bot in javascript_ru
Denis Efremov
Всем привет! Помогите разобраться с js пожалуйста 🙂
Есть два класса:
class One {
setValue = () => {
  console.log('One -> setValue')
}
}

class Two extends One {
setValue() {
  super.setValue()
  console.log('Two -> setValue')
}
}

const ins = new Two()
ins.setValue();

Не могу понять почему вызывается только 'One -> setValue' и не вызывается 'Two -> setValue'?
источник

DE

Denis Efremov in javascript_ru
Почему так не отработает?
источник

DE

Denis Efremov in javascript_ru
Где теряется прототип, когда юзаешь класс пропертиз?
источник

DE

Denis Efremov in javascript_ru
И это баг или фича?
источник

DE

Denis Efremov in javascript_ru
источник

DE

Denis Efremov in javascript_ru
источник

НС

Никита Сковорода in javascript_ru
Denis Efremov
Всем привет! Помогите разобраться с js пожалуйста 🙂
Есть два класса:
class One {
setValue = () => {
  console.log('One -> setValue')
}
}

class Two extends One {
setValue() {
  super.setValue()
  console.log('Two -> setValue')
}
}

const ins = new Two()
ins.setValue();

Не могу понять почему вызывается только 'One -> setValue' и не вызывается 'Two -> setValue'?
Кто такой super.setValue?
источник

НС

Никита Сковорода in javascript_ru
Смотри, у тебя на прототипе One (который super от Two) никакого sendValue нет.
Есть Two.prototype.sendValue. One.prototype.sendValue нету.
источник

НС

Никита Сковорода in javascript_ru
Когда ты создаёшь объект ins = new Two(), происходит инициализация class properties этого объекта.
И в ins.setValue присваивается значение — стрелочная функция, которая определена в One.
источник

НС

Никита Сковорода in javascript_ru
И значение прототипа она затеняет.
источник

НС

Никита Сковорода in javascript_ru
У ins в этом коде есть собственное свойство sendValue (та самая стрелочная функция).
Поэтому Two.prototype.sendValue тут не вызовется.
источник

НС

Никита Сковорода in javascript_ru
А если бы он вызвался, он бы сломался, потому что One.prototype.sendValue — undefined.
источник

DE

Denis Efremov in javascript_ru
Никита Сковорода
Кто такой super.setValue?
источник