ES6基础之——对比两个值是否相等Object.is()

对比两个值是否相等我们可以使用==,或者判断绝对相等使用===。它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身以及正0等于负0

+0 == -0 //true

+0 === -0 //true

不过这两个东西是不一样的

再比如:

NaN == NaN //false

不过他们是一个东西

遇到这种情况,可以使用Object.is()方法,两个参数就是要对比的东西,比如:

Object.is(NaN,NaN) //true

Object.is(+0,-0) //false

大部分情况下,还是可以使用==或者===去判断两个值是否是相等的

原文地址:https://www.cnblogs.com/fe-cherrydlh/p/11080759.html

时间: 2024-10-14 05:34:40

ES6基础之——对比两个值是否相等Object.is()的相关文章

ES6基础之——把对象的值复制到另一个对象里Object.assign()

Object.assign()可以把一个对象的属性复制到另外一个对象里面 先定义一个空白的对象breakfast let breakfast={} 下面就使用Object.assign()方法 第一个参数是接受者,也就是要复制到的那个目标,第二个是复制的源; 例子: let breakfast={} Object.assign( breakfast, { drink:'beer' } ) console.log(breakfast) //{drink:'beer'} 原文地址:https://w

【Excel】对比两列值

原文地址:https://www.cnblogs.com/xiangtunmizu/p/12074341.html

快速遍历对比两个文件下的md5值

[[email protected] Activity]# find /opt/xyrpg/rpgserver_s1/XMLData/Activity/ -type f -exec md5sum {} \;|sed 's/rpgserver_s1/rpgserver_s2/'|md5sum -c /opt/xyrpg/rpgserver_s2/XMLData/Activity/ActivityCondition.xml: FAILED /opt/xyrpg/rpgserver_s2/XMLDat

对比两个实体类属性值的差异

/// <summary> /// 对比两个实体类属性值的差异 /// </summary> /// <typeparam name="T">实体类</typeparam> /// <param name="oldMod">原实体类</param> /// <param name="newMod">新实体类</param> /// <return

对比两个对象的属性和值是否完全相同

// 对比两个对象的值是否完全相等 返回值 true/false isObjectValueEqual (a, b) { //取对象a和b的属性名 var aProps = Object.getOwnPropertyNames(a); var bProps = Object.getOwnPropertyNames(b); //判断属性名的length是否一致 if (aProps.length != bProps.length) { return false; } //循环取出属性名,再判断属性

对比两个同类型的泛型集合并返回差异泛型集合 ——两个List&lt;类名&gt;的比较

1: /// <summary> 2: /// 对比两个同类型的泛型集合并返回差异泛型集合 3: /// </summary> 4: /// <typeparam name="T">泛型类型</typeparam> 5: /// <param name="newModel">修改后的数据集合</param> 6: /// <param name="oldModel"&g

ES6基础整理(1)

刚开始用vue,很多时候我们都会把ES6这位大兄dei加入我们的技术栈中.但是ES6那么多那么多特性,我们真的需要全部都掌握吗?掌握好常用的.有用的这个可以让我们的开发快速起飞. 接下来我们就聊聊ES6基础常用的知识的总结. es6中的声明变量的方式: // let // 1. let声明变量不可以进行重复声明 // 2. let声明的变量有块级作用域 // const // 声明的叫做常量 // 1. const声明变量不可以进行重复声明 // 2. const声明页有块级作用域 // 3.

==运算符是判断栈中两个值是否相等

默认情况下(也即类型没有重载==运算符的情况下),==运算符是判断栈中两个值是否相等.为了验证这个结论,来看下面的程序: namespace JudgeEquals{    class Program    {        static void Main(string[] args)        {            int a = 10;            int b = 10;            Console.WriteLine(a==b); string s1 = "a

jni c语言使用指针交换两个值

#include <stdio.h> //创建传递指针的方法 void swap(int* pi,int*pj){ int temp=*pi; *pi=*pj; *pj=temp; } main(){ int i=5; int j=7; //之前 printf("%d i\n",i); printf("%d j\n",j); int* pi=&i; int* pj=&j; swap(pi,pj); //之后 printf("%d