Number() преобразуется в Number, String() преобразует в строку, Boolean() преобразуется в логическое значение.
Типы данных JavaScript
В JavaScript существует 5 различных типов данных, которые могут содержать значения:
- string
- number
- boolean
- object
- function
Есть 3 типа объектов:
- Object
- Date
- Array
А типы 2 данных, которые не могут содержать значения:
- null
- undefined
typeof Оператор
Вы можете использовать typeof оператор , чтобы найти тип данных переменной JavaScript.
пример
typeof "John"
// Returns string
typeof 3.14
// Returns number
typeof NaN
// Returns number
typeof false
// Returns boolean
typeof [1,2,3,4] // Returns object
typeof {name:'John', age:34}
// Returns object
typeof new Date()
// Returns object
typeof function () {} // Returns function
typeof myCar
// Returns undefined (if myCar is not declared)
typeof null
// Returns object
Попробуй сам " Обратите внимание:
- Тип данных NaN является номером
- Тип данных array является объектом
- Тип данных date является объектом
- Тип данных null является объектом
- Тип данных undefined переменной не определено
Вы не можете использовать typeof , чтобы определить , является ли объект JavaScript является массивом (или дата).
Тип данных typeof
typeof оператор не является переменной. Он является оператором. Операторы ( + - * / ) не имеют никакого типа данных.
Но, то typeof оператор всегда возвращает строку , содержащую тип операнда.
constructor недвижимости
constructor свойство возвращает функцию конструктора для всех переменных JavaScript.
пример
"John".constructor
// Returns function String() { [native code] }
(3.14).constructor
// Returns function Number() { [native code] }
false.constructor
// Returns function Boolean() { [native code] }
[1,2,3,4].constructor
// Returns function Array() { [native code] }
{name:'John', age:34}.constructor
// Returns function Object() { [native code] }
new Date().constructor
// Returns function Date() { [native code] }
function () {}.constructor
// Returns function Function(){ [native code] }
Попробуй сам " Вы можете проверить свойство конструктора , чтобы выяснить , является ли объект массивом (содержит слово "Array" ):
пример
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
Попробуй сам " Вы можете проверить свойство конструктора , чтобы выяснить , если объект является Date (содержит слово "Date" ):
пример
function isDate(myDate) {
return myDate.constructor.toString().indexOf("Date") > -1;
}
Попробуй сам " JavaScript Тип преобразования
JavaScript переменные могут быть преобразованы в новую переменную и другой тип данных:
- При использовании функции JavaScript
- Автоматически самой JavaScript
Преобразование чисел в строки
Глобальный метод String() может преобразовывать числа в строки.
Он может быть использован на любом типе чисел, литералов, переменных или выражений:
пример
String(x) // returns a string from a number variable x
String(123) // returns a string from a number literal 123
String(100 + 23) // returns a string from a number from an expression
Попробуй сам " Способ номер toString() делает то же самое.
В разделе Методы Number , вы найдете несколько методов , которые могут быть использованы для преобразования чисел в строки:
метод | Описание |
---|---|
toExponential() | Возвращает строку с номером закругленным и записываются с помощью экспоненциальной нотации. |
toFixed() | Возвращает строку с номером округляется и пишется с заданным количеством знаков после запятой. |
toPrecision() | Возвращает строку с числом, записанным с заданной длиной |
Преобразование Booleans в строки
Глобальный метод String() может преобразовать Булев в строки.
String(false) // returns "false"
String(true) // returns "true"
Логический метод toString() делает то же самое.
false.toString() // returns "false"
true.toString() // returns "true"
Преобразование дат в строки
Глобальный метод String() может преобразовать даты в строки.
String(Date()) // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
Метод Дата toString() делает то же самое.
пример
Date().toString() // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
В главе Методы Дата , вы найдете несколько методов , которые могут быть использованы для преобразования дат в строки:
метод | Описание |
---|---|
getDate() | Получите день в виде числа (1-31) |
getDay() | Получите будний день номер (0-6) |
getFullYear() | Получить четыре цифры года (YYYY) |
getHours() | Получить час (0-23) |
getMilliseconds() | Получить миллисекунды (0-999) |
getMinutes() | Получите минут (0-59) |
getMonth() | Получить месяц (0-11) |
getSeconds() | Получить секунд (0-59) |
getTime() | Получить время (миллисекунды с 1 января 1970 года) |
Преобразование строки в число
Глобальный метод Number() может преобразовывать строки в числа.
Строки , содержащие числа (например , "3.14" ) преобразовать в числа (например , 3.14).
Пустые строки конвертировать в 0.
Все остальное превращается в NaN (не число).
Number("3.14") // returns 3.14
Number(" ") // returns 0
Number("") // returns 0
Number("99 88") // returns NaN
В разделе Методы Number , вы найдете несколько методов , которые могут быть использованы для преобразования строк в числа:
метод | Описание |
---|---|
parseFloat() | Анализирует строку и возвращает число с плавающей запятой |
parseInt() | Анализирует строку и возвращает целое число |
Унарное + Оператор
Унарная + оператор может быть использован для преобразования переменной в число:
Если переменная не может быть преобразован, он все равно будет стать число, но со значением NaN (не число):
Преобразование Booleans в цифрах
Глобальный метод Number() также может конвертировать Булев номерам.
Number(false) // returns 0
Number(true) // returns 1
Преобразование дат в цифрах
Глобальный метод
d = new Date();
Number(d) // returns 1404568027739
Метод Дата getTime() делает то же самое.
d = new Date();
d.getTime() // returns 1404568027739
Автоматическое преобразование типа
Когда JavaScript пытается работать на "неправильной" типа данных, он будет пытаться преобразовать значение в "правильной" типа.
Результат не всегда то, что вы ожидаете:
5 + null // returns 5
because null is converted to 0
"5" + null // returns "5null"
because null is converted to "null"
"5" + 2 // returns
52
because 2 is converted to "2"
"5" - 2 // returns 3
because "5" is converted to 5
"5" * "2" // returns
10 because "5" and "2" are
converted to 5 and 2
Попробуй сам " Автоматическое преобразование строк
JavaScript автоматически вызывает переменной toString() функцию при попытке "выход" объект или переменную:
document.getElementById("demo").innerHTML = myVar;
// if myVar = {name:"Fjohn"} // toString converts to "[object Object]"
// if myVar = [1,2,3,4] // toString converts to "1,2,3,4"
// if myVar = new Date() // toString converts to "Fri Jul 18 2014 09:08:55 GMT+0200"
Числа и Булев также преобразуются, но это не очень видно:
// if myVar = 123 // toString converts to "123"
// if myVar = true // toString converts to "true"
// if myVar = false // toString converts to "false"
Таблица JavaScript Тип преобразования
Эта таблица показывает результат преобразования различных значений JavaScript, чтобы число, строка и логическое значение:
оригинал Стоимость | переделанный к номеру | переделанный нанизывать | переделанный в логическое значение | Попробуй |
---|---|---|---|---|
false | 0 | "false" | false | Попробуй " |
true | 1 | "true" | true | Попробуй " |
0 | 0 | "0" | false | Попробуй " |
1 | 1 | "1" | true | Попробуй " |
"0" | 0 | "0" | true | Попробуй " |
"1" | 1 | "1" | true | Попробуй " |
NaN | NaN | "NaN" | false | Попробуй " |
Infinity | Infinity | "Infinity" | true | Попробуй " |
-Infinity | -Infinity | "-Infinity" | true | Попробуй " |
"" | 0 | "" | false | Попробуй " |
"20" | 20 | "20" | true | Попробуй " |
"twenty" | NaN | "twenty" | true | Попробуй " |
[ ] | 0 | "" | true | Попробуй " |
[20] | 20 | "20" | true | Попробуй " |
[10,20] | NaN | "10,20" | true | Попробуй " |
["twenty"] | NaN | "twenty" | true | Попробуй " |
["ten","twenty"] | NaN | "ten,twenty" | true | Попробуй " |
function(){} | NaN | "function(){}" | true | Попробуй " |
{ } | NaN | "[object Object]" | true | Попробуй " |
null | 0 | "null" | false | Попробуй " |
undefined | NaN | "undefined" | false | Попробуй " |
Значения в кавычках указывают значения строк.
Красные значения указывают значения (некоторые) программисты не могли бы ожидать.