JavaScript 类型
在 JavaScript 中,有 5 种不同的数据类型可以包含值:
string
number
boolean
object
function
有 6 种类型的对象:
Object
Date
Array
String
Number
Boolean
以及 2 种不能包含值的数据类型:
null
undefined
运算符的类型
您可以使用typeof
运算符来查找 JavaScript 变量。
1 | typeof "John" // Returns "string" |
请注意:
- NaN 的数据类型为 number
- 数组的数据类型是对象
- 日期的数据类型是对象
- null 的数据类型为 object
- 未定义变量的数据类型为 undefined *
- 尚未赋值的变量的数据类型为 同样未定义 *
您不能使用typeof
来确定 JavaScript 对象是否是数组(或日期)。
原始数据
基元数据值是单个没有额外数据值的简单数据值 属性和方法。
typeof
运算符可以返回以下基元类型之一:
string
number
boolean
undefined
1 | typeof "John" // Returns "string" |
复杂数据
typeof
运算符可以返回以下两种复杂类型之一:
function
object
typeof
运算符为对象、数组和 null 返回“object”。
typeof
运算符不返回函数的“object”。
1 | typeof {name:'John', age:34} // Returns "object" |
typeof
运算符为数组返回 “object
”,因为在 JavaScript 中数组是对象。
typeof 的数据类型
typeof
运算符不是变量。它是一个运算符。运算符 ( + - * / ) 没有任何数据类型。
但是,typeof
运算符总是返回一个字符串(包含 操作数的类型)。
constructor 属性
constructor
属性返回构造函数 函数。
1 | "John".constructor // Returns function String() {[native code]} |
您可以检查构造函数属性以找出对象是否为Array
(包含单词 “Array”):
1 | function isArray(myArray) { |
或者更简单,您可以检查对象是否是 Array 函数:
1 | function isArray(myArray) { |
您可以检查构造函数属性以确定对象是否为Date
(包含单词“Date”):
1 | function isDate(myDate) { |
或者更简单,您可以检查对象是否为 Date 函数:
1 | function isDate(myDate) { |
定义
在 JavaScript 中,没有值的变量的值是undefined
的。该类型也是undefined
的。
1 | let car; // Value is undefined, type is undefined |
通过将值设置为undefined
,可以清空任何变量。该类型也将是undefined
的。
1 | car = undefined; // Value is undefined, type is undefined |
空值
空值与undefined
无关。
空字符串既有合法值,又有类型。
1 | let car = ""; // The value is "", the typeof is "string" |
零
在 JavaScript null
中是“什么都没有”。它应该是不存在的东西。
不幸的是,在 JavaScript 中,null
数据类型是对象。
你可以认为typeof null
是一个对象是 JavaScript 中的一个错误。它应该为null
。
您可以通过将对象设置为null
值来清空对象:
1 | let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}; |
您还可以通过将对象设置为undefined
值来清空对象:
1 | let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}; |
Undefined 和 Null 之间的区别
undefined
和null
值相等,但类型不同:
1 | typeof undefined // undefined |
实例的运算符
如果对象是指定对象的实例,instanceof
运算符将返回true
:
1 | const cars = ["Saab", "Volvo", "BMW"]; |
void 运算符
void 运算符计算表达式并返回 undefined。此运算符通常用于获取 undefined 原始值,使用 “void(0)”(在计算没有 使用返回值)。
1 | <a href="javascript:void(0);"> |
0评论