Size: a a a

Angular - русскоговорящее сообщество

2021 May 05

ЕП

Егор Платонов... in Angular - русскоговорящее сообщество
Ребят, вопрос по поводу chart.js. Знает кто-нибудь как можно в data и labels записать массив не через перебор а например с использованием ngFor? В моем случае у меня массив объектов и мне нужно чтобы в labels был массив items.name а в data было items.price.
источник

ЕП

Егор Платонов... in Angular - русскоговорящее сообщество
источник

RM

R M in Angular - русскоговорящее сообщество
😅 А смысл задавать его как null?

По умолчанию undefined, и на уровне проверки операторами это слабо как по мне сказывается.

Вообще хоть кто то сравнивал value === null?
источник

A

Andrei in Angular - русскоговорящее сообщество
var options = {
   scales: {
       yAxes: [
           {
               ticks: {
                   callback: function(label, index, labels) {
                       return label/1000+'k';
                   }
               },
               scaleLabel: {
                   display: true,
                   labelString: '1k = 1000'
               }
           }
       ]
   }
}
источник

ЕВ

Евгений Войтенко... in Angular - русскоговорящее сообщество
я следую @waterplea в своих видосах он говорит что они не используют undefined
источник

A

Andrei in Angular - русскоговорящее сообщество
или через плагин
источник

A

Andrei in Angular - русскоговорящее сообщество
!!value or !value or value ? ... : ...
источник

RM

R M in Angular - русскоговорящее сообщество
Окей, это круто следовать за кем то.

Но зачем это нужно, имею ввиду значение null? В курсе --strictNullChecks
источник

AI

Alex Inkin in Angular - русскоговорящее сообщество
Знакомый инженер, от которого я это перенял прямо так и проверяет === null. Но я так уж обычно не упарываюсь :)
источник

RM

R M in Angular - русскоговорящее сообщество
Да, я в старых записях js тоже такое встречал, но в реальной практике и необходимости в этом не нашел.
источник

AI

Alex Inkin in Angular - русскоговорящее сообщество
Так ты явно задаёшь отсутствие значение а не неопределённость.
источник

RM

R M in Angular - русскоговорящее сообщество
Но ведь на уровень проверки эт никак не сказывается

?, ??, *ngIf, etc.

&& ||
источник

AI

Alex Inkin in Angular - русскоговорящее сообщество
В самом Angular ты тоже таких кейсов (`|null = null`) много найдёшь. Не то, чтобы они были эталоном крутого кода, но всё же ) Если ты хочешь где-то сказать, что у тебя чего-то нет — ты же не возвращаешь undefined? Ты возвращаешь null. А в строгом TS это не одно и то же. Поэтому везде, где я подразумеваю сознательное отсутствие значение я пишу в типе null для единообразия, совместимости и отсутствия двусмысленности.
источник

ЕВ

Евгений Войтенко... in Angular - русскоговорящее сообщество
не понял вопроса. strictNullChecks что делает? и какой должен бть?
источник

AI

Alex Inkin in Angular - русскоговорящее сообщество
Если кто-то в инпут передал null - он явно указал, что чего-то нет. Если туда прилетел undefined - скорее всего кто-то забыл определить переменную. Angular Language Service даже на это ругнётся тебе в актуальных версиях.
источник

A

Andrei in Angular - русскоговорящее сообщество
В рантайме ругнется?
источник

AI

Alex Inkin in Angular - русскоговорящее сообщество
У нас есть специальный декоратор на инпутах, чтоб в рантайме ругнулся. В него ещё можно доп проверку передать. Например, что если ты ждёшь "количество", а прилетел -1 или NaN то он тебе в консоль вывел что значение не прошло проверку. Тип при этом number, так что с точки зрения TS всё валидно.
источник

RM

R M in Angular - русскоговорящее сообщество
Я прочту, но я не понимаю.

При любом раскладе мы будем проверять на существование значения.
источник

RM

R M in Angular - русскоговорящее сообщество
Это типа сахара, теперь ясно для чего
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
в одном случае - потенциально ошибка разработчика. В другом - просто отсутствие значения
источник