@zlodiak

Почему возможно сложить число и массив?

typescript это язык с сильной типизацией. То есть он не разрешает преобразовывать типы во время операции. Однако следующий код не выбрасывает никаких сообщений об ошибках:

const multy = ( a, b ) => a + b;

const number = 5;
const array = [ 0, 1, 2 ];

const result1 = multy( number, array[ 2 ] );
const result2 = multy( number, array );

console.log(result1, typeof result1)
console.log(result2, typeof result2)


Вывод:
7 "number"
50,1,2 string


Я думал, что только javascript разрешает сложить число и массив и на выходе получить строку, а typescript - нет. Но код говорит об обратном. Скажите пожалуйста где я не прав.
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
yarkov
@yarkov
Помог ответ? Отметь решением.
Ну так добавьте типы аргументам multy и будет вам счастье. А то вы топите за тайпскрипт, но ни одного типа не вижу в коде.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@abberati
frontend-разработчик
Typescript — это язык со слабой статической типизацией.

Конфиг tsconfig позволяет по-разному настраивать компилятор — его можно настроить так, что он будет лишь информировать об ошибках и в любом случае компилировать код. Гуглите по ключевым словам emit on error. И no implicit any тоже погуглите.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы