Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжаем тему типы данных JavaScript, на эту тему уже были публикации: JavaScript числа, JavaScript строки и символы JavaScript, логические значения true JavaScript и false JavaScript, преобразование строку в число JavaScript и число в строку JavaScript. В рубрике Заметки по JavaScript были также публикации: вставка JavaScript в HTML, JavaScript операторы и JavaScript выражения (void JavaScript, delete JavaScript, typeof JavaScript, new JavaScript). Данная публикация будет посвящена специальным значениям JavaScript значение null JavaScript и значение undefined JavaScript.

 Значение null JavaScript. Значение undefined JavaScript. Специальные значения JavaScript. Типы данных JavaScript.

Значение null в JavaScript и значение undefined в JavaScript – это специальные значения и они даже чем-то похожи на первый взгляд, но это только на первый взгляд, общее у них только то, что оба этих значения (null и undefined) обозначают отсутствие значения у переменной и оба этих значения преобразуются в значение false. Больше значение null JavaScript и значение undefined JavaScript ничем не похожи между собой. Вот именно о том для чего нужно значение null в JavaScript и для чего используется undefined в JavaScript я и хочу поговорить на этот раз.

Значение null JavaScript. Проверка на null в JavaScript. Преобразование значения null в другие типы данных JavaScript.

Начну я со значения null JavaScript. Ключевое слово null в JavaScript имеет особый смысл, значение null – это уникальное значение, обычно считается, что значение null относится к объектному типу данных JavaScript и говорит об отсутствие объекта. Значение null в JavaScript уникально и оно не похоже на другие значения ни на значение undefined, ни на ноль, ни на логическое значение false. Значение null в других языках – это то же самое, что и ноль, но не в языке JavaScript.

Если JavaScript переменная имеет значение null, то это означает, что эта переменная не содержит в себе ни массив, ни объект, ни строку, ни число, ни логическое значение, хотя значение null JavaScript можно преобразовать в любой тип данных.

Если мы преобразуем значение null в логический тип данных, то null преобразуется в значение false. Если мы хотим преобразовать специальное значение null в JavaScript строку, то мы получим строку “null”. Значение null можно преобразовать в JavaScript число, в этом случае null преобразуется в ноль. Если вы захотите преобразовать значение null в объектный тип данных (JavaScript массив или JavaScript объект), то у вас ничего не выйдет, поскольку в этом случае произойдет ошибка.

Значение undefined JavaScript. Проверка на undefined в JavaScript. Преобразование значения undefined в другие типы данных JavaScript.

Специальное значение undefined JavaScript – это второе специальное значение, которое есть в языке JavaScript. И даже иногда используется. JavaScript переменная имеет значение undefined если эта переменная объявлена, но ей еще не присвоено значение, программа вам вернет значение undefined в том случае, если вы попытаетесь обратиться к свойству JavaScript объекта или к элементу JavaScript массива, которого не существует.

Обратите внимание: значение null JavaScript и значение undefined JavaScript – это не одно и то же. Они даже не эквиваленты, хотя JavaScript оператор ==, оператор эквивалентности считает, что значение null и undefined равны друг другу. Например:

[php]

var n;

n==null;

[/php]

В данном случае я объявил JavaScript переменную n при помощи ключевого слова var, как я уже говорил: объявленные переменные, которым не присваивалось значение, имеют значение undefined.  А затем при помощи оператора эквивалентности JavaScript == сравниваю значение, хранящееся в переменной n со значением null JavaScript, и естественно, что результатом такого сравнение будет логическое значение true.

Из всего выше сказанного можно сделать вывод: значение null и undefined в JavaScript говорят нам об отсутствие значения у переменной или об отсутствия свойства или элемента массива.

Чтобы отличить значение null от значения undefined мы можем воспользоваться оператором идентичности JavaScript (===) или оператором typeof JavaScript, который позволяет точно установить, какой тип данных имеет переменная, свойство объекта или элемент массива.

Если вы посмотрите список зарезервированных слов JavaScript, то увидите, что null является зарезервированным словом, а вот undefined является не зарезервированным. Это говорит о том, что в языке JavaScript есть глобальная переменная JavaScript undefined, значение которой равно undefined. Следовательно, глобальной переменной undefined можно присвоить другое значение, которое будет отличаться от значения undefined.

Поэтому, иногда вы можете встретить такую строку в начале программы на языке JavaScript:

[php]

var undefined;

[/php]

В данном случае ключевое слово var объявляет JavaScript переменную undefined как глобальную. А поскольку переменной undefined не присвоено никакого значения, то она имеет значение undefined. В JavaScript есть оператор void, который приводит значение любой переменной к undefined. Значение undefined можно преобразовывать в другие типы данных JavaScript. Если мы преобразовываем значение undefined в JavaScript строку, то мы получим строку “undefined”, если возникнет необходимость преобразовать undefined в JavaScript число, то получится значение NaN. При преобразование значения undefined в логический тип данных JavaScript получится значение false.

На этом всё, спасибо за внимание, надеюсь, что был хоть чем-то полезен и до скорых встреч на страницах блога для начинающих вебразработчиков и вебмастеров ZametkiNaPolyah.ru. Не забываем комментировать и делиться с друзьями;)

Возможно, эти записи вам покажутся интересными


Выберете удобный для себя способ, чтобы оставить комментарий

This article has 2 comments

  1. Pingback: Екатерина

    • Кирилл Reply

      Здравствуйте, Екатерина! Вы совершенно правы, JavaScript переменные, которые были объявлены, но которым не присвоено значение хранят в себе значение undefined. И так же вы правы в том, что значение undefined JavaScript и значение null JavaScript не равны друг другу. Более того, значение null JavaScript и значение undefined JavaScript — это совершенно разные типы данных JavaScript.

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Loading Disqus Comments ...