Предположим, я пишу библиотеку с машинописным текстом. Существует функция со следующим signature-Запрет на вызов JavaScript-скрипта без ошибок
function check(value: "YES"|"NO"): boolean
Таким образом, когда эта функция вызывается из других машинописи файлов с другими значениями, чем «ДА» или «НЕТ», то будет ошибка компиляции. Но если вызывается из файла Javascript, ошибки не будет, поскольку Javascript не имеет информации о типе. Я могу проверить недопустимые значения внутри моей функции и выбросить ошибки. Но тогда безопасность типа, предоставляемая машинописным текстом, кажется мне иллюзией.
Что делать в этом случае в качестве разработчика библиотеки? Идите с чистым javascript? Что делали такие команды, как Angular?
Вы должны делать то, что считаете лучшим. Этот вопрос не имеет * объективного * ответа, и поэтому вне темы для SO. * «... ответы на этот вопрос будут, как правило, почти полностью основаны на мнениях ...» * –
Я не знаком с Typcript, но из того, что я понимаю, он преобразуется в чистый javascript во время компиляции. Тем не менее, если вы доставляете скомпилированный код вместо машинописного кода, он должен работать так, как предполагалось? Я также придерживаюсь этого, машинопись предназначена для того, чтобы помочь вам закодировать, применяя ограничения и предотвращая ошибки. JS, в который он компилируется, - это то, что действительно входит в продукт. Таким образом, поскольку вы не можете заставить общество использовать машинописный текст, вы не можете на машинке для того, чтобы ваш код был «свободен от ошибок». – Dellirium
@ T.J.Crowder Должен ли я спрашивать об этом у программистов? – Gulshan