Size: a a a

2021 February 02

D

Danila in pro.js
array.find(object => object.key === find.key)?.key
источник

T

Tigran in pro.js
благодарю
источник

М

Михаил in pro.js
источник

М

Михаил in pro.js
как сделать такую подсказку в VSCode (аргумент: )
источник

М

Михаил in pro.js
при вызове
источник

ИУ

Иван Усенков... in pro.js
Danila
dom.lib.ts (на котором скорее всего и основаны подсказки в ИДЕ) так не считает
Потому что target это свойство самого базового класса Event и он наследуется всеми другими ивентами. А если вы в этом сомневаетесь, найдите кейс когда при евенте Click не будет таргета. С учётом если мы не генерируем евент вручную. Так как в нашем примере такого нету
источник

D

Danila in pro.js
Иван Усенков
Потому что target это свойство самого базового класса Event и он наследуется всеми другими ивентами. А если вы в этом сомневаетесь, найдите кейс когда при евенте Click не будет таргета. С учётом если мы не генерируем евент вручную. Так как в нашем примере такого нету
Да, но нет. Кейсы кейсами, типы типами.
источник

D

Danila in pro.js
В типе явно указана возможность нулла
источник

D

Danila in pro.js
Это абсолютная норма
источник

D

Danila in pro.js
Может, не такая норма для тех, кто не писал например на ts, но в целом - норма
источник

D

Danila in pro.js
Как и все хорошие вещи в VSCode - плагинами ) https://marketplace.visualstudio.com/items?itemName=lannonbr.vscode-js-annotations
источник

ИУ

Иван Усенков... in pro.js
Danila
Да, но нет. Кейсы кейсами, типы типами.
Ставить проверку только потому что 'а вдруг свойства не будет', очень глупый подход. Какое условие вы добавите? Игнорировать логику? А подумать когда может не быть этого поля? При каких условиях? Возможно в таких случаях нужна другая логика? Нет? Понятно что просто проигнорировать проще а потом исправлять баги потому что что то не выполняется
источник

D

Danila in pro.js
Иван Усенков
Ставить проверку только потому что 'а вдруг свойства не будет', очень глупый подход. Какое условие вы добавите? Игнорировать логику? А подумать когда может не быть этого поля? При каких условиях? Возможно в таких случаях нужна другая логика? Нет? Понятно что просто проигнорировать проще а потом исправлять баги потому что что то не выполняется
Это глупый подход только в мире без строгой типизации. TS тебе не даст "не ставить проверку", ИДЕ не ТС и лишь предупреждает о том, что строго говоря ты с точки зрения системы типов совершаешь ошибку. Поставить проверку - очень просто.

event.target && event.target.appendChild()...
источник

D

Danila in pro.js
Это не "а вдруг свойства не будет", это "его обязательно когда-то не будет потому что в типе это так"
источник

D

Danila in pro.js
Но если ты не писал на TS или другом строго типизированом языке, понять и принять это может быть сложно, ок. Поэтому это лишь подчёркивание предупреждением, а не ошибка.
источник

ИУ

Иван Усенков... in pro.js
Danila
Это глупый подход только в мире без строгой типизации. TS тебе не даст "не ставить проверку", ИДЕ не ТС и лишь предупреждает о том, что строго говоря ты с точки зрения системы типов совершаешь ошибку. Поставить проверку - очень просто.

event.target && event.target.appendChild()...
Ещё можно event.targer?.appenedChild. вопрос был не в этом, а в том что вы упускайте анализ. Он либо есть всегда, либо есть кейсы которые надо хотя бы рассмотреть
источник

D

Danila in pro.js
Иван Усенков
Ещё можно event.targer?.appenedChild. вопрос был не в этом, а в том что вы упускайте анализ. Он либо есть всегда, либо есть кейсы которые надо хотя бы рассмотреть
Я - ничего не упускаю. Тип не сужается, там явно указан нулл.
источник

D

Danila in pro.js
ТС мне просто не даст написать без проверки
источник

D

Danila in pro.js
И я не нахожу в этом проблем
источник

D

Danila in pro.js
Если тип таков, то ок. Тип - первичен
источник