Информация об изменениях

Сообщение Re[3]: TypeScript недоскритп от 12.02.2021 9:10

Изменено 12.02.2021 11:11 Pauel

Re[3]: TypeScript недоскритп
Здравствуйте, dikun, Вы писали:

D>Здравствуйте, tovarish_n, Вы писали:


_>>Например такое:
 if (typeof padding === "nUmber")
— не скомпилируется.


D>Потому и не надо его использовать. Или линтером чекать:

D>https://eslint.org/docs/rules/valid-typeof
D>Или ещё что.
D>Тем более, что
D>
D>typeof NaN === 'number'
D>typeof new Number(1) === 'object'
D>typeof Number(1) === 'number'
D>

D>Так что нафиг-нафиг.

Эти конструкции тебя никто не заставляет использовать. Не существует ни одной задачи, которая обязывала бы тебя использовать эти вещи. То есть, не пиши new Number(1) и у тебя не будет проблем.
Number(1) — конверсия, вполне адекватная вещь, работает вполне себе годно.
typeof NaN === 'number' это валидная вещь, все по спеке Double, где NaN является числом.

Собственно, все это небольшие родовые травмы, исправлять которые за наличием огромного количества легаси кода смысла большого нет.
Re[3]: TypeScript недоскритп
Здравствуйте, dikun, Вы писали:

D>Здравствуйте, tovarish_n, Вы писали:


_>>Например такое:
 if (typeof padding === "nUmber")
— не скомпилируется.


D>Потому и не надо его использовать. Или линтером чекать:

D>https://eslint.org/docs/rules/valid-typeof
D>Или ещё что.
D>Тем более, что
D>
D>typeof NaN === 'number'
D>typeof new Number(1) === 'object'
D>typeof Number(1) === 'number'
D>

D>Так что нафиг-нафиг.

Эти конструкции тебя никто не заставляет использовать. Не существует ни одной задачи, которая обязывала бы тебя использовать эти вещи. То есть, не пиши new Number(1) и у тебя не будет проблем. В разных языках с примитивами есть множество проблем, жээс тут не одинок.

Number(1) — конверсия, вполне адекватная вещь, работает вполне себе годно. Проблема в том, что далеко не все другие типы дают ожидаемый результат. Например, Array(1) и Array([1]) и Array(1,2) это родовая травма.

typeof NaN === 'number' это валидная вещь, все по спеке Double, где NaN является числом.

Собственно, все это небольшие родовые травмы, исправлять которые за наличием огромного количества легаси кода смысла большого нет.