У меня есть класс
class Clazz{constructor(public foo: string, public bar: string)}
и затем я создаю такой массив:
var cls: Clazz[] = [{foo: 'Foo', bar: 'Bar'}, {foo:'Missing bar'}]
Контроллер типа не жалуется на предмет с отсутствующим bar
. Это по дизайну? Если да, какова мотивация этого поведения?
Контроллер типа не жалуется на предмет с отсутствующим баром
Оно делает:
См. Образец на детской площадке.
Обратите внимание, что ваш код также имел синтаксическую ошибку (о которой также сообщалось... тело конструктора отсутствовало).
Вы можете оставить аргументы, и они будут инициализированы значением по умолчанию. Обычно это делается, если вы еще не знаете желаемого значения или у вас все в порядке с установленным значением по умолчанию. Кроме того, если у вас есть класс с большим количеством свойств, возможно, вы не захотите установить их в вызове конструктора.