运算符类型
typeof 运算符帮助我们查看存储在变量中的类型。
它支持两种形式的语法:
作为运算符:
typeof x;
let value1 = 12345; console.log(typeof value1) //number let value2 = 'string'; console.log(typeof value2) //string let value3 = { key: 'value' }; console.log(typeof value3) //object let value4 = true; console.log(typeof value4); //object
作为一个函数:
typeof(x);
它可以带括号也可以不带,结果是一样的。
function doSomething(value) { if(typeof(value) === 'string') { console.log('value is a string') } else if(typeof(value) === 'number') { console.log('value is a number'); }else if(typeof(value) === 'object') { console.log('value is a object'); } } doSomething("string"); doSomething(123); doSomething({key: "value"});
JavaScript 提供了 typeof 运算符来检查值数据类型。
该运算符返回值数据类型的字符串。
例如,对于一个对象,它将返回“对象”。
但是,对于数组和 null,返回“object”,对于 NaN/Infinity,返回“number”。
检查该值是否恰好是真实对象在某种程度上是困难的。
比如null不是对象,但是typeof null的结果是“object”,就是typeof的错误。
Null 是一个特殊的值,它有自己的独立类型。
要检查值是否为对象,可以将值的构造函数与 Object 进行比较。
//如果值是对象,则返回 let obj = { siteName: 'onitroad', }; let str = 'onitroad'; function isObject(objValue) { return objValue && typeof objValue === 'object' && objValue.constructor === Object; } let objVal = isObject(obj); console.log(objVal); let val = isObject(str); console.log(val);
对于从类创建的对象,我们可以使用 instanceof 运算符。
JavaScript 数据类型
我们不必定义变量的类型,因为 JavaScript 引擎会有效地使用它。
JavaScript 中存在两种类型的数据:原始数据类型和非原始(引用)数据类型。
JavaScript 中有七种原始数据类型:
- Number
- Boirnt
- String
- Boolean
- Null
- Undefined
- Symbol
- 和 Object 是一种非原始数据类型。
除了对象之外,所有这些类型都无法更改。
那些不可改变的被称为原始值。
日期:2020-06-02 22:16:09 来源:oir作者:oir