Что будет выведено в консоль при выполнении следующего кода:
(function() {
'use strict';
var num = 34.toString();
console.log(typeof num);
})();
Ошибка.
В JavaScript есть всего один тип данных для чисел - number
. Тип number
будет соответствовать как целым числам, например 34
, так и числам с плавающей точкой, например 34.56
. Для чисел .
является валидным числовым символом и интерпретируется, как часть числа, вместо того, чтобы интерпретироваться, как символ доступа к свойствам. Таким образом, записи числа 34.
является валидной и в связи с этим в выполнении кода появляется ошибка:
(function() {
'use strict';
var num = 34.toString(); // SyntaxError
// Выполнение кода прекращается
console.log(typeof num);
})();
Есть несколько способов избежать подобой ошибки:
// Записать число в переменную и уже после этого перевести его в строку
var num = 34;
num = num.toString(); // "34"
// Обвернуть число скобками
(34).toString(); // "34"
// Использовать две точки
34..toString(); // "34"