Categories: Javascript

Преобразование типов для примитивов в javascript

Здравствуйте уважаемые читатели! Сегодня рассмотрим преобразование примитивных типов данных (все типы кроме объектов) в языке javascript. Система преобразования типов в js простая, но незначительно отличается от других языков программирования.

Всего в javascript есть три преобразования:

  • Строковое;
  • Численное
  • Логическое.

Далее рассмотрим их подробнее.

Строковое преобразование

Явным образом осуществить преобразование переменной в строку можно вызовом String(val). Например:

var a = 123;
var b = a + 1; //b = 124
var c = String (a) + 1; // c = «1231»

При выполнении выражения String(false), String(null) или String(undefined): false становится "false", null — "null" и undefined — "undefined".

Также преобразование к строке происходит при использовании оператора +. Когда один из аргументов оператора + является строкой, другой его аргумент также преобразуется в строку. Например:

var a = «1» + 1; //a = «11»
var b = true + «false»; //b = «truefalse»

Численное преобразование

Для явного преобразования переменной к числу используется выражение Number(val), либо можно просто поставить перед выражением унарный "+". Например:

var a = Number («100»); // 100
var b = +"100";// 100

Преобразование различных значений к числу подчиняется следующим правилам:

  • undefined — преобразуется в NaN (что такое NaN можно почитать здесь);
  • null — преобразуется в 0;
  • true — преобразуется в 1;
  • false — преобразуется в 0;
  • строка — пробельные символы по краям обрезаются. Далее, если пустая строка, то '0'. Если не пустая, то считывается число, если ошибка, то NaN.

Примеры:

var a = +"  \n 999  \n\n"; // 999
var a = +"qwe  345 df";// будет ошибка и результат NaN

Как было описано выше, специальные значения undefined и null преобразуются в NaN и 0 соответственно. Но при выполнении логической операции == ведут себя особенно. При сравнении == undefined и null равны друг другу, но не равны никакому другому значению. Примеры:

alert (undefined == null);// true
alert (undefined == 0);// false
alert (undefined > 0);// false
alert (undefined < 0);// false
alert (null == 0);// false
alert (null == 0);// false

но

alert (null >= 0);// true

Логическое преобразование

Преобразование значений к true/false  при применении логических операторов, или в логических конструкциях, например в конструкции if(value). Либо явным образом с помощью оператора Boolean(value) или двойного логического отрицания !!value.

Все значения, которые пусты становятся false. Вот они: 0, null, undefined, NaN, пустая строка. Причем под пустой строкой понимается именно пустая строка. Строка состоящая хотя бы из одного пробела не считается пустой и преобразуется к true.

Остальные значения преобразуются к true.

В итоге имеем три преобразования типов в JavaScript:

  1. Строковое — String(val);
  2. Численное — Number(val);
  3. Логическое — Boolean(value).

Особый случай сравнение специальных значений undefined и null. Они равны друг другу, но не равны чему либо еще.

На этом все. До новых встреч на страницах блога!

Share
Tags: javascript типы данных преобразование типов данных
alex

Recent Posts

  • Заработок в интернете

Ферма stealth аккаунтов. Как быстро начать и главное зачем?

В данном топике описан процесс создания и управления большим количеством аккаунтов (или stealth ферма), предназначенных для работы с репутацией и…

2 года ago
  • Заработок в интернете

Рейтинг онлайн казино на деньги: какие параметры подлежат оценке

Азартная индустрии при появлении интернета стала развиваться семимильными шагами. Игорные площадки быстро стали популярны. (далее…)

2 года ago
  • Заработок в интернете

Gologin — антидетект приложение для масштабирования ферм stealth аккаунтов

Ключевая задача антидетект браузера - обеспечить пользователя функционалом, позволяющим выглядеть в глазах поисковых и антифрод систем реальным пользователем, а не…

2 года ago
  • Заработок в интернете

Бездепозитные бонусы казино: классификация и способы получения

Бонусы без депозита предоставляют некоторые казино новичкам и зарегистрированным пользователям. Многие считают, что, воспользовавшись таким предложением, получат подарочные деньги от…

2 года ago
  • Заработок в интернете

Бездепозитные бонусы от казино — лучший подарок для любителей азартных игр

Игроки ищут любые возможности получить деньги от онлайн казино. Ведь победить в слотах непросто. Нередкие проигрыши могут подкосить бюджет любого…

2 года ago
  • Заработок в интернете

Покер на Андроид: как выбрать и скачать софт для игры на реальные деньги и бесплатно

Онлайн покер является удобным вариантом игры. Однако многие предпочитают устанавливать программы на свои устройства. (далее…)

2 года ago