Как я могу сделать так, чтобы мой JavaScript-код был связан с неопределенным атрибутом?

Иногда я пишу на JavaScript, и этот JavaScript неизменно усеян ошибками. Они часто сводятся к доступу к неопределенным атрибутам объектов. Однако движки JavaScript, похоже, очень не хотят ошибаться; вместо того, чтобы падать, мои приложения спотыкаются как можно дольше, распространяя значения undefined через свое состояние и плохо себя ведя. К тому времени, когда появляется очевидный симптом, он часто проявляется в совершенно отдельном компоненте от фактической ошибки (иногда это просто опечатка!).

Это, очевидно, преднамеренный и разумный выбор дизайна, учитывая варианты использования JavaScript, но при разработке это проблема. Существуют ли какие-либо методы, позволяющие заставить мой код с честью свалиться с лошади в случае неопределенного доступа, чтобы я мог помочь ему снова включиться?

На мой взгляд, это одна из многих причин, почему существуют такие вещи, как Typescript typescriptlang.org, которые предотвращают эти вещи, хотя проверки типов во время компиляции

Andreas Müller 19.01.2019 12:36
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
103
1

Ответы 1

То, что вы описываете, это проверка типов. В наши дни двумя наиболее популярными вариантами проверки типов в JavaScript являются Машинопись (которую @AndreasMüller уже рекомендовал выше) и Поток. Использование любого из них должно помочь вам избежать доступа к неопределенным свойствам объекта и большему количеству запахов/проблем кода. Чтобы начать работу с TypeScript, ознакомьтесь с TypeScript за 5 минут.

Я не согласен с тем, что описываю проверку типов; неудачный поиск атрибутов вызывает ошибку гораздо менее интенсивно, чем это! Но спасибо за подсказку, похоже, TypeScript действительно поможет.

Brendan 20.01.2019 11:22

Другие вопросы по теме