JavaScript 如何检查提供的值是否为指定类型

JavaScript 如何检查提供的值是否为指定类型

以下方法介绍了如何检查JavaScript中的提供的值是否为指定类型。

方法: Object.is() 是JavaScript方法,它在ECMAScript 2015(也称为ES6)中引入,用于确定两个值是否相同。

Object.is() 确定两个值是否相同。如果两者都是未定义,都是null,都是true或两者都是false,都是长度相同、字符按相同顺序排列的字符串,都是相同的对象(意味着两个值引用内存中相同的对象),都是数字,都是+0,都是-0,都是NaN或都是非零且都不是NaN并且具有相同的值,则两个值是相同的。

语法:

Object.is(value1, value2);

参数: 该方法接受以下两个参数:

  • value1: 这是要比较的第一个值。
  • value2: 这是要比较的第二个值。

返回值: 该函数返回布尔值。

示例1:

// Evaluation result is the same as using === 
console.log(Object.is(25, 25));             // true 
console.log(Object.is('foo', 'foo'));         // true 
console.log(Object.is('foo', 'bar'));         // false 
console.log(Object.is(null, null));         // true 
console.log(Object.is(undefined, undefined)); // true 
console.log(Object.is([], []));             // false 
  
var foo = { a: 1 }; 
var bar = { a: 1 }; 
  
console.log(Object.is(foo, foo));             // true 
console.log(Object.is(foo, bar));             // false 

输出:

true
true
false
true
true
false
true
false

示例2:

// Evaluation result is the same as using === 
console.log(Object.is(25, 25));             // true 
console.log(Object.is('foo', 'foo'));         // true 
console.log(Object.is('foo', 'bar'));         // false 
console.log(Object.is(null, null));         // true 
console.log(Object.is(undefined, undefined)); // true 
console.log(Object.is([], []));             // false 
  
var foo = { a: 1 }; 
var bar = { a: 1 }; 
  
console.log(Object.is(foo, foo));             // true 
console.log(Object.is(foo, bar));             // false 

输出:

false
false
true
true
true
true

Object.is() 和 ===(严格相等)之间的关键区别

  • Object.is(+0,0) 的结果为 false,Object.is(NaN,NaN) 的结果为 true。
  • 因此,Object.is() 只是 ===,但对于负零 -0 和 NaN 有不同的行为。

注意: 作为 ES6 特性 ,它可能不被旧浏览器支持,但可以使用 Babel 进行转译以实现兼容性。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程