ES6中Object的新特性 偏执的太偏执、 2023-07-16 12:57 32阅读 0赞 ### 文章目录 ### * * * 成员速写 * 方法速写 * 计算属性名 * is() 判断 * assign() 混合对象 * setPrototypeOf() 设置隐式原型 * setPrototypeOf() 返回属性名 -------------------- ### 成员速写 ### 成员速写是当返回的属性名和返回的值一致时可以简写 function create(userName, userAge) { return { userName, userAge } } console.log(create('robbit', 18)) // {userName: "robbit", userAge: 18} -------------------- ### 方法速写 ### 对象字面量初始化时可以简写 function create(userName, userAge) { return { userName, userAge, print() { console.log(this.userName, userAge) } } } var user = create('robbit', 18) user.print() // robbit 18 -------------------- ### 计算属性名 ### 在我们从后台返回的参数我们不知道属性名,此时我们可以使用计算属性名。 const prop1 = 'userName'; const prop2 = 'userAge'; const prop3 = 'print'; const user = { [prop1]: 'robbit', [prop2]: 18, [prop3]() { console.log(this[prop1], this[prop2]) } } console.log(user[prop1], user[prop2]) user[prop3]() // user[prop1] => robbit // user[prop2] => 18 // user[prop3] => robbit 18 -------------------- ### is() 判断 ### 判断两个值是否全等,除了一下两种情况。 console.log(NaN === NaN); // false console.log(Object.is(NaN, NaN)) // true console.log(+0 === -0); // true console.log(Object.is(+0, -0)) // false -------------------- ### assign() 混合对象 ### 用于混合对象,后值会覆盖前值。 const obj1 = { a: 123, b: "abc", }; const obj2 = { b: 456, c: "def" }; const obj = Object.assign(obj1, obj2) console.log(obj) // {a: 123, b: 456, c: "def"} -------------------- ### setPrototypeOf() 设置隐式原型 ### 传递两个对象参数,将后一个对象设置为前一个对象的隐式原型。 const obj1 = { a: 1 } const obj2 = { b: 2 } Object.setPrototypeOf(obj1, obj2) console.log(obj1) // { a: 1, // __proto__: { // b: 2 // } // } -------------------- ### setPrototypeOf() 返回属性名 ### 返回对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组。 const obj = { a: 1, b: 2, [Symbol("abc")]: 3 } console.log(Object.getOwnPropertyNames(obj)) // ["a", "b"]
相关 ES6新特性 ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下⼀个版本标准,2015.06 发版。ES6 主要是为了解决 ES5 的先天不⾜,⽐如 Jav... 矫情吗;*/ 2024年04月21日 08:03/ 0 赞/ 196 阅读
相关 ES6新特性 文章目录 一、ECMASript 介绍 二、ES6 新特性 2.1 let、const 关键字 2.2 变量的解构赋值 ゝ一世哀愁。/ 2022年09月06日 15:27/ 0 赞/ 416 阅读
相关 es6新特性 1.let && const •都是块级作用域 •不能重复定义 •避免了变量提升 ① let命令也用于声明对象,但是作用域为局部。 ![在这里插入图片描述][ 红太狼/ 2022年03月07日 21:24/ 0 赞/ 498 阅读
相关 es6新特性 es6语法 > es6语法用起来是十分方便的,但是有些浏览器还是不支持,但是做大型项目中基本上要用到转码器(babel转码器),可以把es6语法转为es5直接使用。 T 落日映苍穹つ/ 2022年01月25日 15:30/ 0 赞/ 492 阅读
相关 ES6新特性 转:[https://www.jianshu.com/p/87008f4f8513][https_www.jianshu.com_p_87008f4f8513] co Bertha 。/ 2022年01月12日 02:19/ 0 赞/ 459 阅读
相关 ES6新特性 转自:[https://www.jianshu.com/p/87008f4f8513][https_www.jianshu.com_p_87008f4f8513] 1.con 冷不防/ 2021年12月18日 07:07/ 0 赞/ 456 阅读
相关 es6新特性 https://www.cnblogs.com/minghui007/p/8177925.html 转载于:https://www.cnblogs.com/LWWTT/p/1 野性酷女/ 2021年11月02日 14:58/ 0 赞/ 650 阅读
相关 ES6新特性 1.变量声明let和const 在ES6以前,var关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部)。这就是函数变量提升例如: 我会带着你远行/ 2021年10月29日 07:08/ 0 赞/ 667 阅读
相关 ES6新特性 1.声明变量的关键字:const 和 let JavaScript ES6中引入了另外两个声明变量的关键字:const和let。在ES6中,我们将很少能看到var了。 co 电玩女神/ 2021年09月17日 01:12/ 0 赞/ 650 阅读
还没有评论,来说两句吧...