Определите прототип для всех типов переменных в JavaScript - PullRequest
0 голосов
/ 10 марта 2020

Я написал следующий код в JavaScript

Object.prototype.is_string = function () {
 return typeof this === 'string' || this instanceof String;
}

Это можно использовать для значений String, numbers, objects и arrays

Но его нельзя использовать для значений null и undefined.

Как этот метод может быть определен для всех типов переменных?

Ответы [ 3 ]

0 голосов
/ 10 марта 2020

null не является объектом, поэтому он не имеет никакой функции, которая будет выполняться на нем.

0 голосов
/ 10 марта 2020

null и undefined в JavaScript - это типы данных, которые не имеют prototypes, поэтому они не наследуют свои свойства от Object.

0 голосов
/ 10 марта 2020

В JavaScript примитив (примитивное значение, тип данных примитива) - это данные, которые не являются объектом и не имеют методов. Существует 7 примитивных типов данных: строка, число, bigint, логическое значение, ноль, неопределенное значение и символ.

Примитив

В основном, хотя typoef null возвращает object, это НЕ объект, но примитивное значение. В вашем коде также проверьте значения null.

...