Адские ребята,
Вот еще один вопрос машинописного текста 2.0 (с включенным режимом строгой нулевой проверки). Итак, если вы определяете функцию, которая имеет значения по умолчанию для всех параметров:
(name = "Luis", age = 40)=>void
Тогда все параметры считаются необязательными, т.е. как будто у нас есть следующая подпись:
(name?: string, age?: number) => void
Верно? Теперь, что происходит, когда у нас есть эта подпись:
(name = "Luis", age: number ) => void
Согласно коду VS, эта подпись совместима с:
(name: string, age: string) => void
Теперь, если я активирую режим строгой нулевой проверки, не должен ли следующий вызов вызывать ошибку:
doIt(undefined, 30);
Компилируется нормально, но если я не ошибаюсь, undefined будет автоматически добавлен только в список типов необязательных параметров. Я не нашел ссылок на инициализированные параметры по умолчанию.
Итак, если предыдущий вызов в порядке, может ли кто-нибудь указать мне, где я могу найти информацию об этом в официальных документах?
Спасибо,
Луис
doIt()
, которая, по вашему мнению, должна вызывать сбой компиляции? - person Dan Def   schedule 27.10.2016