typeof JavaScript
- Предыдущая страница Метод Map JS
- Следующая страница Преобразование типов JS
typeof JavaScript
В JavaScript есть 5 различных типов данных, которые могут содержать значения:
string
number
boolean
object
function
Есть 6 типов объектов:
Object
Date
Array
String
Number
Boolean
и 2 типа данных, которые не могут содержать значения:
null
undefined
оператор typeof
Вы можете использовать typeof
оператор来确定 JavaScript переменной данные типа.
Пример
typeof "Bill" // Возвращает "string" typeof 3.14 // Возвращает "number" typeof NaN // Возвращает "number" typeof false // Возвращает "boolean" typeof [1,2,3,4] // Возвращает "object" typeof {name:'Bill', age:19} // Возвращает "object" typeof new Date() // Возвращает "object" typeof function () {} // Возвращает "function" typeof myCar // Возвращает "undefined" * typeof null // Возвращает "object"
Обратите внимание:
- Тип данных NaN составляет число
- Тип данных массива составляет объект
- Тип данных даты составляет объект
- Тип данных null составляет object
- Тип данных неопределенной переменной составляет undefined *
- Данные переменной, не имеющей значения, также являются undefined *
Вы не можете использовать typeof
чтобы определить, является ли объект JavaScript массивом (или датой).
Исходная дата
Значение исходных данных指的是 одиночный простый значимый объект без дополнительных свойств и методов.
typeof
Оператор может возвращать один из следующих исходных типов:
string
number
boolean
undefined
Пример
typeof "Bill" // Возвращает "string" typeof 3.14 // Возвращает "number" typeof true // Возвращает "boolean" typeof false // Возвращает "boolean" typeof x // Возвращает "undefined" (если у x нет значения)
Комплексные данные
typeof
Оператор может возвращать один из двух сложных типов:
function
object
typeof
Оператор возвращает "object" для объектов, массивов и null.
typeof
Оператор не возвращает "object" для функции.
Пример
typeof {name:'Bill', age:19} // Возвращает "object" typeof [1,2,3,4] // Возвращает "object" (не "array", обратите внимание на следующий пример) typeof null // Возвращает "object" typeof function myFunc(){} // Возвращает "function"
typeof
Оператор возвращает для массива "object"
, потому что в JavaScript массивы являются объектами.
Типы данных typeof
typeof
Оператор не переменная. Это просто оператор. Операторы (+ - * /) не имеют типа данных.
ноtypeof
Оператор всегдаВозвращает строку(включая тип операнда).
Свойство constructor
constructor
Свойство возвращает конструктор всех переменных JavaScript.
Пример
"Bill".constructor // Возвращает функцию String() {[родное код]} (3.14).constructor // Возвращает функцию Number() {[родное код]} false.constructor // Возвращает функцию Boolean() {[родное код]} [1,2,3,4].constructor // Возвращает function Array() {[native code]} {name:'Bill',age:19}.constructor // Возвращает function Object() {[native code]} new Date().constructor // Возвращает function Date() {[native code]} function () {}.constructor // Возвращает function Function(){[native code]}
Вы можете проверить атрибут constructor, чтобы определить, является ли объект массивом (включая "Array"
):
Пример
function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; }
или проще, вы можете проверить, является ли объектФункция массива:
Пример
function isArray(myArray) { return myArray.constructor === Array; }
Вы можете проверить атрибут constructor, чтобы определить, является ли объект датой (включая "Date"
):
Пример
function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; }
или проще, вы можете проверить, является ли объектФункция даты:
Пример
function isDate(myDate) { return myDate.constructor === Date; }
Undefined
В JavaScript переменная без значения имеет значение undefined
. Тип также undefined
.
Пример
let car; // Значение undefined, тип также undefined.
назначив значение undefined
может очистить любую переменную. Тип также будет undefined
.
Пример
car = undefined; // Значение undefined, тип также undefined.
Пустое значение
Пустое значение с undefined
Безразлично.
Пустая строка имеет как законное значение, так и тип.
Пример
let car = ""; // Значение "", тип "string"
Null
В JavaScript: null
Это «нет». Оно должно быть не существующим.
К сожалению, в JavaScript:null
Тип данных является объектом.
Вы можете думать о нем как о баге JavaScripttypeof null
является объектом. Тип должен быть null
.
Вы можете установить объект в null
Чтобы очистить объект:
Пример
let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"}; person = null; // Теперь значение null, но тип по-прежнему объект
Вы также можете установить объект в undefined
Чтобы очистить объект:
Пример
let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"}; person = undefined; // Теперь значение и тип являются неопределенными
Разница между undefined и null
undefined
и null
Ценные, но различные значения:
typeof undefined // undefined typeof null // object null === undefined // false null == undefined // true
- Предыдущая страница Метод Map JS
- Следующая страница Преобразование типов JS