Нет, это не плохая практика.
На самом деле, это было бы даже лучшей практикой.
Причина в том, что входы устанавливаются только при ngOnChanges
прогонах, что означает, что до тех пор, пока эта функция не будет запущена, ваше значение не определено.
Для логического значения это не имеет большого значения. Но представьте себе сложный объект, и вы выполняете операции над этим объектом, что-то вроде
if (this.myInput.type.ref.date.modifiedAt.includes('+1'))
Тогда ваше состояние выдаст ошибку.
Более того, это позволяет вводить данные без значений: представьте, что вы создали пользовательский выбор, и вы хотите назначить вход multiple
: каков наилучший подход для разработчика?
Personnaly, мне нравится первый. Чтобы достичь этого, вы можете использовать это:
@Input('multiple') doNotShowMultipleValues = true;
Когда разработчик будет использовать первый синтаксис, значение станет ''
, что неверно, что инвертирует условие. То, что вы не можете обойтись без первоначального значения!
Но, в конце концов, все зависит от личных предпочтений, и если вы не уверены, что можете присвоить значение по умолчанию, вам просто не следует этого делать.