美文网首页
浅学es6对象的扩展

浅学es6对象的扩展

作者: yfsola | 来源:发表于2017-12-01 16:24 被阅读0次

1.属性的简介表示法

const foo ='bar' 

const baz = {foo}

baz //{foo:'bar'}

//等同于baz = {foo:foo}

2.属性名表达式

let lastWord ='last word'

const a= {

'first word':'hello',   

 [lastWord]:'world'} 

a['first word']

}

// 'hello'a[lastWord]

// 'world'a['last word']

// 'world'

注意属性名表达式于简介表达式,不能同时使用

//报错 

const foo ='bar' 

const bar ='abc' 

const baz = {[foo]}

//正确

const foo ='bar';

const baz = {[foo]:'abc'}

3.方法name属性

函数name属性,返回函数名

4.Object.is()

比较两个值是否严格相等,相当于(===)

5.Object.assign()

用于对象的合并

const target ={a:1}

const source1 ={b:2} 

const source2 ={c:3}

Object.assign(target,source1,source2)

target//{a:1,b:2,c:3}

注意如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面的属性会覆盖前面的属性

克隆对象

function clone(origin) { returnObject.assign({},origin); }

属性的遍历 ES6一共有五种方法可以遍历对象的属性

(1)for ... in

循环遍历对象自身和继承的可枚举属性

(2)Object.keys(obj)

返回一个数组,包括对象自身的(不可继承的)所有可枚举属性(不含Symbol属性)的键名

(3)Object.getOwnPropertyNames(obj)

返回一个数组,包含对象自身的所有属性(不含 Symbol 属性,但是包括不可枚举属性)的键名。

(4)Object.getOwnPropertySymbols(obj)

返回一个数组,包含对象自身的所有 Symbol 属性的键名。

Reflect.ownKeys(obj)

返回一个数组,包含对象自身的所有键名,不管键名是 Symbol 或字符串,也不管是否可枚举。

4.__proto__属性,Object.setPrototypeOf(),Object.getPrototypeOf()

下面代码将proto对象设为obj对象的原型,所以obj对象可以读取proto对象的属性

let proto = {}

let obj = {x:10}

Object.setPrototypeOf(obj,proto);

proto.y =20

proto.z =40

obj.x// 10

obj.y// 20

obj.z// 40

5.super关键字

关键字super,指向当前对象的原型对象

注意super关键字表示原型对象是,之恩给你用在对象的方法之中,用在其他地方都会报错

相关文章

  • 浅学es6对象的扩展

    1.属性的简介表示法 const foo ='bar' const baz = {foo} baz //{foo:...

  • 2018-08-24

    ES6对象的扩展

  • es6之扩展运算符 三个点(...)

    es6之扩展运算符 三个点(...)对象的扩展运算符数组的扩展运算符总结es6之扩展运算符 三个点(…)对象的扩展...

  • ES6扩展归纳

    ES6扩展归纳 介绍ES6相比与ES5在原有对象上的扩展,包括字符串、正则、数值、函数、数组、对象等扩展,本文是阮...

  • es6的数值,函数,字符串扩展

    一、es6的数值扩展 二、es6的函数扩展 代码效果:对象解构在函数中的应用 三、es6字符串扩展 常用方法 代码...

  • ES6新增特性(二)

    ES6 的内置对象扩展 Array 的扩展方法 一、Array 的扩展方法 1. 扩展运算符(展开语法) 扩展运算...

  • es6笔记

    es6 对象扩展方法is() 全等比较Object.is(NaN,NaN) // trueassign() 对象合...

  • 【基础知识】扩展运算符...

    变量解构使用案例 数组扩展运算符 重点:对象也可以使用...哦ES6之扩展运算符-对象

  • 对象

    对象的深拷贝 对象合并 assign() hasOwnProperty 遍历赋值 Es6,扩展运算符 Object...

  • ES6 学习(Number扩展篇)

    - Number扩展 ES6 把 parseInt() 和 parseFloat() 移植给了 Number 对象...

网友评论

      本文标题:浅学es6对象的扩展

      本文链接:https://www.haomeiwen.com/subject/ljewbxtx.html