Предыдущие слова
В общих языках программирования только нулевой означает пуст, но дизайнер JavaScript Брендан Эйх разработал неопределенную, что, несомненно, увеличивает сложность программы, но есть определенная причина для этого. В этой статье подробно будет введено неопределенное и нулевое в JavaScript
Исторические причины, когда JavaScript родился в 1995 году, как и Java, только NULL был установлен как значение, указывающее «нет». Согласно традиции языка C, NULL предназначен для автоматического превращения в 0
Тем не менее, дизайнер JavaScript Брендан Эйх считает, что этого недостаточно по двум причинам. Во -первых, NULL рассматривается как объект, как на Java. Однако значения JavaScript разделены на две категории: примитивные типы и типы объектов. Брендан Эйх считает, что ценность, которая означает «нет», лучше не является объектом. Во -вторых, первоначальная версия JavaScript не включала механизм обработки ошибок. Когда возникает несоответствие типа данных, он часто автоматически преобразует тип или не сбои. Брендан Эйх считает, что если NULL автоматически превращается в 0, трудно найти ошибки
Поэтому Брендан Эйх спроектировал еще одну неопределенную. Это различает это так: NULL - это объект, который представляет «нет», который равен 0 при преобразовании в числовое значение; неопределенное - исходное значение, которое представляет «нет», которое является NAN при преобразовании в числовое значение
Тем не менее, в настоящее время нулевые и неопределенные являются в основном синонимичными, оба являются примитивными типами, и есть только некоторые небольшие различия.
Неопределенный тип имеет только одно значение, которое не определен. Когда объявленная переменная не инициализирована, значение по умолчанию переменной не определено. Таким образом, в целом неопределенные означает, что переменная не инициализируется
var test; // undefinedConsole.log (тест == не определен); // truevar test = undefined; // не определенное
Для переменных, которые не были объявлены, может быть выполнена только одна операция, используя оператор TypeOF для обнаружения их типов данных, но это приведет к ошибке в строгом режиме
typeof (test); // не определен
【Внешний вид сцены】
【1】 объявленные нецензуемые переменные
【2】 Получите атрибуты, которые не существуют в объекте
【3】 Результат выполнения функции без возвращаемого значения
【4】 Параметры функции не передаются в
【5】 void (экспрессия)
var i; console.log (i); // undefinedvar o = {}; console.log (op); // undefinedfunction f () {}; console.log (f ()); // не определенная функция f (x) {return x;} console.log (f ());//undefinedconsole.log (void.leficendiensed.loged (void (void.);【Тип преобразования】
Boolean (неопределенная): FALSCUMBUMER (неопределенное): NANSTRING (UNDEFINED): «Неопределенный»
нулевой
Существует только одно значение для нулевого типа, который является нулевым. NULL - это ключевое слово на языке JavaScript. Он представляет собой особое значение и часто используется для описания «нулевого значения».
Логически, нулевое значение представляет собой указатель пустого объекта
[Примечание] NULL - это пустой указатель объекта, в то время как [] - пустой массив, {} - пустой объект, три разные
console.log (typeof null); // 'объект'
Несмотря на то, что нулевые и неопределенные разные, они оба представляют «пустую стоимость», NULL представляет «нулевое значение», а не определяется «неопределенное». Эти два часто взаимозаменяемы. Оператор судьи равенства == думать, что они равны
console.log (null == не определен); // true
Фактически, поскольку неопределенные и нулевые не являются типами конструкторов, они не имеют никаких свойств и методов. С использованием . и [] для доступа к членам или методам обоих значений будет создавать ошибку типа.
【Тип преобразования】
Boolean (NULL): FALSNumber (NULL): 0String (NULL): 'NULL'
Приведенная выше статья о системе типа JavaScript - неопределенная и нулевая - это весь контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.