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

Сообщение Re[12]: Поругайте TypeScript/node.js от 27.06.2022 8:35

Изменено 27.06.2022 8:43 Pauel

Re[12]: Поругайте TypeScript/node.js
Здравствуйте, ·, Вы писали:

P>>>>А ты разберись, что это такое. Тайпскрипт не исправляет жээс,

P>>·>Это демагогия. Типизация — тоже исправляет, в прямом смысле этого слова, чтобы компилятор ловил попытки выстрелить в ногу.
P>>Не исправляет. Все косяки джаваскрипта доступны и в тайпскрипте. Тайпскрипт это надмножество джаваскрипта.
·>Что значит "все"? Давай конкретику. В js можно присвоить любому объекту любое свойство. В typescript это будет ошибка компиляции.

Конечно же это не так. Ты про тайпскрипт похоже что только читал. В тайпскрипт, что бы присвоить любому объекту любое свойство нужно или добавить описание типа, или включить некоторые опции компилятора. То есть, нет проблемы добиться идентичного поведения — присваивай что хошь куда хошь.

> Понятно, что можно явным образом отключить проверку типов в куске ts кода, но это явное действие. В моём примере же это просто дыра в системе типов ts, и никакого отношения к js не имеет.


Алё — ты сделал явное преобразование типа! Коллекции джавы позволяют спокойно добавить собаку в массив котов, использую всего лишь преобразование к базовому классу коллекции. Соответсвенно при итерации ты получишь ... приплызд.
Аналогичный фокус есть и в дотнете.
То есть, эта самая дырка есть почти что во всех мейнстримных языках, а в Си/Си++ это вообще норма жизни. И ничего, живут люди.
Re[12]: Поругайте TypeScript/node.js
Здравствуйте, ·, Вы писали:

P>>>>А ты разберись, что это такое. Тайпскрипт не исправляет жээс,

P>>·>Это демагогия. Типизация — тоже исправляет, в прямом смысле этого слова, чтобы компилятор ловил попытки выстрелить в ногу.
P>>Не исправляет. Все косяки джаваскрипта доступны и в тайпскрипте. Тайпскрипт это надмножество джаваскрипта.
·>Что значит "все"? Давай конкретику. В js можно присвоить любому объекту любое свойство. В typescript это будет ошибка компиляции.

Конечно же это не так. Ты про тайпскрипт похоже что только читал. В тайпскрипт, что бы присвоить любому объекту любое свойство нужно или добавить описание типа, или включить некоторые опции компилятора. То есть, нет проблемы добиться идентичного поведения — присваивай что хошь куда хошь.
Похоже, ты не в курсе что Тайпскрипт это надмножество джаваскрипта. Гы.

> Понятно, что можно явным образом отключить проверку типов в куске ts кода, но это явное действие. В моём примере же это просто дыра в системе типов ts, и никакого отношения к js не имеет.


Алё — ты сделал явное преобразование типа! Коллекции джавы позволяют спокойно добавить собаку в массив котов, использую всего лишь преобразование к базовому классу коллекции. Соответсвенно при итерации ты получишь ... приплызд.
Аналогичный фокус есть и в дотнете.
То есть, эта самая дырка есть почти что во всех мейнстримных языках, а в Си/Си++ это вообще норма жизни. И ничего, живут люди.