Page 44 - 6105
P. 44
Як видно з прикладів вище, перетворення відбувається найбільш очевидним
способом: false стає "false", null - "null", undefined - "undefined" і т.п.
Також для явного перетворення застосовується оператор "+", у якого один з
аргументів рядок. У цьому випадку він приводить до рядка і інший аргумент,
наприклад:
alert (true + "test"); // "truetest"
alert ( "123" + undefined); // "123undefined"
Чисельне перетворення відбувається в математичних функціях і виразах, а
також при порівнянні даних різних типів (крім порівнянь ===,! ==).
Для перетворення до числа в явному вигляді можна викликати Number
(val), або, що коротше, поставити перед виразом унарний плюс "+":
var a = + "123"; // 123
var a = Number ( "123"); // 123, той же ефект
Логічні значення:
alert (+ true); // 1
alert (+ false); // 0
З логічними значеннями:
alert ( "\ n" == false);
alert ( "1" == true);
Тут порівняння "==" знову призводить обидві частини до числа. У першому
рядку ліворуч і праворуч виходить 0, у другому 1.
Спеціальні значення
Інтуїтивно, значення null / undefined асоціюються з нулем, але при
перетвореннях поводяться інакше.
Спеціальні значення перетворюються до числа так: значення
перетворюється на ...
undefined - NaN
null - 0
43