运算符类型

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 中检查值是否为对象

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