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

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

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

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

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

语法:

Object.is(value1, value2);
HTML

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

  • value1: 要进行比较的第一个值。
  • value2: 要进行比较的第二个值。

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

示例1:

// 评估结果与使用===的结果相同
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
HTML

输出:

true
true
false
true
true
false
true
false
HTML

示例2:

// 评估结果与使用===的结果相同
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
HTML

输出:

false
false
true
true
true
true
HTML

Object.is()与=(严格相等)的主要区别

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

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

阅读更多:JavaScript 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册