Какие интересные факты в JavaScript?


Ответ 1:

Классный факт № 1:

Код JavaScript может

молча терпеть неудачу во время выполнения

из-за

синтаксическая ошибка

!

  1. // Присвоение недоступному для записи свойствуconst obj = {prop: 42}; Object.freeze (obj); obj.prop = 33; // выдает ошибку в строгом modevar obj1 = {}; Object.defineProperty (obj1, 'x', {value: 42, доступный для записи: false}); obj1.x = 9; // выдает TypeError в строгом режиме

Если вы не используете строгий режим (а во многих случаях это не так), такая синтаксическая ошибка останется незамеченной, и ваше программное обеспечение может работать некорректно. Удачи в попытке отследить это!

Классный факт № 2:

Слабая типизация JavaScript (не путать с динамической типизацией) допускает всевозможные приведения типа сумасшедших, которые на протяжении многих лет превращали JavaScript в шутку. Видеть

Wat

,

Классный факт № 3:

У JavaScript нет целочисленного типа данных! Все числа только с плавающей запятой.

Классный факт № 4:

Использование JavaScript автоматической вставки точек с запятой может привести к странным ошибкам, например:

  1. function returnObj () {return {x: 42};} alert (JSON.stringify (returnObj ())); // дает вам неопределенное

Какие?!

Что произошло?

Оказывается, JavaScript автоматически вставит точку с запятой после «возврата» в строке 2, тем самым вызывая потерю объекта. Ну, это утешительно.

Классный факт № 5:

JavaScript не имеет нормальных массивов. Массивы JavaScript на самом деле больше похожи на словари и ведут себя не так, как вы ожидаете: