Преобразования типа

Прокрутить вниз

Преобразование типов 

Если вы новичок в сфере программирования, то серия наших статей поможет вам вникнуть в основную теорию, что станет для вас руководством -программирование на Академгородке. Зачастую функции и операторы значения к нужному типу приводят автоматически.  

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

Программирование на Академгородке: строковое реформирование  

Строковое реформирование происходит, когда нужно представить что-то в виде строки. К примеру, alert(value) преобразует значение к строке. Еще мы можем применять функцию String(value), дабы преобразовать значение к строке:
let value = true;
alert(typeof value); // boolean

value = String(value); // теперь value это строка «true»
alert(typeof value); // string 

Реформирование проходит безусловным образом. false становится «false», null становится «null» и т.п.  

Численное реформирование  

Численное реформирование происходит в математических функциях и выражениях. К примеру, когда операция деления / используется не к числу:  

alert( «6» / «2» ); // 3, строки преобразуются в числа 

Мы можем применять функцию Number(value), дабы очевидно преобразовать value к числу:  

let str = «123»;
alert(typeof str); // string

let num = Number(str); // становится числом 123

alert(typeof num); // number 

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

К примеруlet age = Number(«Любая строка вместо числа»);

alert(age); // NaN, преобразование не удалось 

Правила численного реформирования 

Значение Преобразуется в…
undefined NaN
null 0
true / false 1 / 0
string Пробельные символы по краям обрезаются. Далее, если остаётся пустая строка, то получаем 0, иначе из непустой строки «считывается» число. При ошибке результат NaN.

 

Примеры: 

alert( Number(» 123 «) ); // 123
alert( Number(«123z») ); // NaN (ошибка чтения числа на месте символа «z»)
alert( Number(true) ); // 1
alert( Number(false) ); // 0  

Так, null становится нулём, в свою очередь undefined приводится к NaN. Множество математических операторов также изготавливает данное реформирование, как мы увидим в дальнейшей главе.  

Программирование на Академгородке: логическое реформирование  

Логическое реформирование самое примитивное. Происходит в логических операциях (позднее мы познакомимся с условными проверками и сходственными конструкциями), но также может быть исполнено очевидно с поддержкой функции Boolean(value). Правило реформирования 

  • Значения, которые подсознательно «пустые», как бы 0, пустой строки, null, undefined и NaN, становятся false. 
  • Все остальные значения становятся true.  

К примеру:  

alert( Boolean(1) ); // true
alert( Boolean(0) ); // false

alert( Boolean(«Привет!») ); // true
alert( Boolean(«») ); // false 

Подметим, что строчка с нулём «0» — это true. 

 Кое какие языки (например, PHP) воспринимают строку «0» как false. Но в JavaScript, если строка не пустая, то она постоянно true.  

alert( Boolean(«0») ); // true
alert( Boolean(» «) ); // пробел это тоже true (любая непустая строка это true) 

Итого  

Существует 3 особенно обширно используемых реформирования: строковое, численное и логическое.  

  • Строковое – Происходит, когда нам необходимо что-то вывести. Может быть вызвано с поддержкой String(value). Для простых значений работает безусловным образом.  
  • Численное – Происходит в математических операциях. Может быть вызвано с поддержкой Number(value).  
Реформирование подчиняется правилам:  
Значение Становится…
undefined NaN
null 0
true / false 1 / 0
string Пробельные символы по краям обрезаются. Далее, если остаётся пустая строка, то получаем 0, иначе из непустой строки «считывается» число. При ошибке результат NaN.
  • Логическое – Происходит в логических операциях. Может быть вызвано с поддержкой Boolean(value).  

Подчиняется правилам:  

Значение Становится…
0nullundefinedNaN"" false
любое другое значение true

 

Огромную часть из этих правил легко осознать и запомнить. Специальные случаи, в которых зачастую допускаются ошибки:  

  • undefined при численном реформировании становится NaN, не 0.  
  • «0» и строки из одних пробелов типа » » при логическом реформировании постоянно true. 

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

 

Вставить формулу как
Блок
Строка
Дополнительные настройки
Цвет формулы
Цвет текста
#333333
Используйте LaTeX для набора формулы
Предпросмотр
\({}\)
Формула не набрана
Вставить