Что будет выведено в консоль при выполнении следующего кода:
(function() {
'use strict';
var num = 3;
num += '2';
num = +num;
console.log(num);
})();Число 32.
Оператор + может быть как унарным, так и бинарным:
// Унарный оператор +
var num = +'32'; // число 32
// Бинарный оператор +
var sum = 2 + 3; // число 5
var str = 2 + '3'; // строка '23'Унарный оператор + используется для приведения типов - с помощью него можно перевести строку, содержащую только числовые символы в число:
var num = '32'; // num === '32'
typeof num; // string
num = +num; // Перевод строки в число, num === 32
typeof num; // numberУнарный + может переводить в числа не только строки, но и
null-+null === 0true-+true === 1false-+false === 0- массивы, состоящие из одного элемента -
+['1'] === 1и+[2] === 2
В отличие от других способов приведения значения к числу унарный + не работает со строками, содержащими нечисловые символы:
// Унарный плюс не справился
var num1 = +'2a', // NaN
num2 = +'a2'; // NaN
// parseInt справился
var num3 = parseInt('2a'), // 2
num4 = parseInt('a2'); // NaN(function() {
'use strict';
// Инициализации переменной
var num = 3; // num === 3
// Добавление строки к числу
// Тип данных в переменной num меняется на string
num += '2'; // num === '32'
// Оператор + конвертирует строку в число или NaN
num = +num; // num === 32
console.log(num); // 32
})();