Size: a a a

JavaScript — русскоговорящее сообщество

2021 April 08

С

Сергей in JavaScript — русскоговорящее сообщество
да
источник

С

Сергей in JavaScript — русскоговорящее сообщество
и дальше в консоли смотри стек вызовов
источник

С

Сергей in JavaScript — русскоговорящее сообщество
откуда идут эти изменения
источник

es

evgeny shev in JavaScript — русскоговорящее сообщество
Переслано от evgeny shev
Як поняти почему тута не работае this. то шо выделил? Вернее this undefined?  Вообще же когда this в методе объекта она указывает на сам объект??????
источник

Н

Не выходи из комнаты... in JavaScript — русскоговорящее сообщество
Привет. Подскажите решение.

Есть посты. У каждого поста своя дата публикации. Соответственно все посты сгруппированы на странице по этой дате.
Задача - взять какой-то календарь и с помощью него реализовать переход к нужной дате...

1. Какая тулза есть для генерации календаря?
2. Как собственно реализовывать такое? Вешать якоря на каждый блок с постами, что ли?...
источник

0

0xLDev | Web Develop... in JavaScript — русскоговорящее сообщество
тебе нужно this привязать,либо используй onLabelClick = () => {}
источник

es

evgeny shev in JavaScript — русскоговорящее сообщество
Спасибо, это я знаю. Я не пойму почему потерялся this когда внутри функции рендер он пошел, ну т.е. в моем коде?
источник

0

0xLDev | Web Develop... in JavaScript — русскоговорящее сообщество
Смотри
источник

es

evgeny shev in JavaScript — русскоговорящее сообщество
блин, мне бы понять не с точки зрения реакта а с точки базы js .  Я вот когда читал по this сделал себе некую заметку, помоги прошу, где в ней ошибка? Или где в ней ситуация как я кинул в том коде???
источник

es

evgeny shev in JavaScript — русскоговорящее сообщество
Там вроде this в классе , но внутри класса и функция есть render() как раз где мы прописываем this
источник

UT

Unknown T. in JavaScript — русскоговорящее сообщество
В коде выше this потерялся потому, что this.onLabelClick передаётся как аргумент, примерно так это выглядит

onClick(handler) {
   handler(); // this === undefined
}

onClick(this.onLabelClick);

Как вообще работает this? Когда используется точка JavaScript по спецификации (https://tc39.es/ecma262/#sec-reference-specification-type) возвращает не функцию, а reference type — тройку (object, propertyName, isStrict). И когда происходит вызов () от reference type, то у функции есть доступ к объекту — к this.

Однако если вызова не происходит — как в вашем примере, то информация из reference type утрачивается, остаётся просто функция, которая ничего не знает, от какого объекта она была вызвана.

minimal-case этой проблемы:
const method = this.onLabelClick;
method();
— здесь происходит потеря this.
источник

es

evgeny shev in JavaScript — русскоговорящее сообщество
Такс, вроде как и понятно, а вроде и нет хех)) Что функцию передали туда как аргумент вижу, понял. Но зачем мы вообще писали this.onLabelClick?  почему бы не передать просто без this? Она же вроде лежит в области видимости досягаемой сама функция эта? что то я поплыл(
источник

NK

Nikita Kagan in JavaScript — русскоговорящее сообщество
Привет всем можете помочь https://dpaste.org/MiDu не могу запушить tmp.value в массив который является linkedList
???
может я не так делаю но по идее так и должно быть
источник

UT

Unknown T. in JavaScript — русскоговорящее сообщество
Нет, не в области
Если убрать классы и перейти к чистым прототипам, получится так:
TodoListItem.prototype.onLabelClick = () => {...}
TodoListItem.prototype.render = () => {...}

У каждого блока кода в js есть окружение, по спецификации environment record — объект, который хранит все переменные, видимые в этом скоупе и поле OuterEnv — ссылка на внешнее окружение.

Какое окружение у функции render? То, в котором был определён класс. И в нем функции onLabelClick нет. onLabelClick определяется на прототипе, а не где-то глобально.
источник

UT

Unknown T. in JavaScript — русскоговорящее сообщество
Вообще рекомендую JavaScript.info — доступно объясняются основы языка, с достаточным уровнем подробностей.
источник

es

evgeny shev in JavaScript — русскоговорящее сообщество
тааак стоп. Значит проблема где то у меня  с синтаксисом классов что ли?  Почему onLabelCkick() определяется на прототипе то? Она же пишется в классе TodoListItem который extends от  Component?
источник

es

evgeny shev in JavaScript — русскоговорящее сообщество
по learn и ознакамливался, только на ру
источник

ъ

ъ in JavaScript — русскоговорящее сообщество
пиздец
источник

ъ

ъ in JavaScript — русскоговорящее сообщество
Это пиздец
источник

ъ

ъ in JavaScript — русскоговорящее сообщество
onLabelKick
источник