Проверить, является ли значение определенного типа

JavaScriptJavaScriptBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы изучим функцию JavaScript, которая проверяет, является ли предоставленное значение определенного типа. Мы будем использовать функцию is(), которая использует свойство constructor и метод Array.prototype.includes() для определения, является ли значение указанного типа. Это практическое занятие поможет вам лучше понять проверку типов в JavaScript.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/obj_manip("Object Manipulation") subgraph Lab Skills javascript/variables -.-> lab-28690{{"Проверить, является ли значение определенного типа"}} javascript/data_types -.-> lab-28690{{"Проверить, является ли значение определенного типа"}} javascript/arith_ops -.-> lab-28690{{"Проверить, является ли значение определенного типа"}} javascript/comp_ops -.-> lab-28690{{"Проверить, является ли значение определенного типа"}} javascript/obj_manip -.-> lab-28690{{"Проверить, является ли значение определенного типа"}} end

Функция для проверки типа значения

Для проверки того, является ли предоставленное значение определенного типа, следуйте следующим шагам:

  • Убедитесь, что значение не является undefined или null, используя Array.prototype.includes().
  • Используйте Object.prototype.constructor для сравнения свойства конструктора на значении с указанным type.
  • Функция is() ниже выполняет эти проверки и возвращает true, если значение является указанного типа, и false в противном случае.
const is = (type, val) => ![, null].includes(val) && val.constructor === type;

Вы можете использовать is() для проверки, является ли значение различными типами, такими как Array, ArrayBuffer, Map, RegExp, Set, WeakMap, WeakSet, String, Number и Boolean. Например:

is(Array, [1]); // true
is(Map, new Map()); // true
is(String, ""); // true
is(Number, 1); // true
is(Boolean, true); // true

Резюме

Поздравляем! Вы завершили практическое занятие по проверке типа значения. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.