Типи даних JavaScript: основні поняття, перевірка, перетворення

Динамічна перевірка типів

Типи даних і змінних у мові JavaScript є основною мови програмування. Багато помилки виконання в JS є помилками типів. Наприклад, коли намагаються помножити «a number» на «a string», отримують помилку у вигляді «Not a Number» повернутого значення. Іноді при виклику функцій і отримують помилку «невизначена is not a function», це відбувається, коли намагаються отримати доступ до властивості, що не визначено. Так як JS не може знайти властивість, то повертає його значення за замовчуванням в резервний: undefined. Інша поширена помилка, пов’язана з типом, коли намагаються змінити або отримати доступ до властивості до значення, яке є null або undefined. Тут немає таких конструкторів, як Undefined або Null.

Система типів JS допомагає уникнути поширених помилок. За визначенням, він є интерпретируемым і динамічним мовою, і вимагає, щоб система типів працювала під час виконання коду. Мова також намагається допомогти, мовчки конвертуючи типи значень. Зміна типу або примус – це причина, по якій багато розробники переключаються на суворе використання(===) для перевірки рівності значень.

Динамічна перевірка типу даних JavaScript виконується через бібліотеку TypeRight. Серед інших особливостей він використовує підхід для реалізації наступних псевдокласів, єдина мета яких – бути правими сторонами instanceof оператора:

  • PrimitiveUndefined.
  • PrimitiveNull.
  • PrimitiveBoolean.
  • PrimitiveNumber.
  • PrimitiveString.
  • PrimitiveSymbol.

TypeRight в даний час не надає клас для перевірки факту, чи є значення об’єктом, але його можна легко додати.