ES6中Object方法
- 我记得第一次离职后,有一次电话面试就被问道对象有哪些方法,当时脑壳一懵一片空白,后面结果肯定是不乐观的…
object的方法,在我开发过程中感觉几乎没怎么用到过,但是毕竟时常使用JavaScript的数据类型object,还是要掌握下人家的方法,记几个常见的也行,总的来说要知道有个这个东西…
1. Object.is() 方法
概念:object.is(a,b) ,比较逗号两边的值和类型是否相同,来决定方法返回的Boolean值(true或false);
先说下es5两个比较运算符:【== (相等运算符 ) 和 ===(严格相等运算符)】
- 前者较为松散,只比较值是否相等,不比较它们的类型,若值相等,则判断为真(返回true)、反之…
- 后者较为严谨,不但比较它们值是否相等,而且还比较类型是否一致,若两者同时满足,才判断真(返回true),反之…
由于ES5提供的两个比较运算符,仍有小瑕疵(具体看后面给的官网链接)
https://es6.ruanyifeng.com/#docs/object-methods#Object-is
所以ES6提供了一个比较的方法–object.is() ,功能与es5中===严格相等运算符的功能行为基本一致【既比较Value,同时比较Type】,当然人家还是一个方法。
你会不会和我一样迷惑?
普通类型比较,没问题,对象之前的比较有点疑惑,明明都是对象,值也相同,为啥object.is(a,b);返回的是false ?
查资料后的实践:
结语: 查资料后的个人结论,对象之间的相互比较,其实就是在比较是不是同一个引用地址。
2.Object.assign()方法
概念:Object.assign(object1,object2,object3,…);该方法用于合并多个对象,若多个对象中包含相同的属性,则后面的对象属性,覆盖之前的属性值…
后续更新…