博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ES6 对象扩展
阅读量:6721 次
发布时间:2019-06-25

本文共 913 字,大约阅读时间需要 3 分钟。

1、属性和变量可以简写

let birth = '2000/01/01';const Person = {  name: '张三',  //等同于birth: birth  birth,  // 等同于hello: function ()...  hello() { console.log('我的名字是', this.name); }};

2、Object.is

它用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致。

不同之处只有两个:一是+0不等于-0,二是NaN等于自身。

+0 === -0 //trueNaN === NaN // falseObject.is(+0, -0) // falseObject.is(NaN, NaN) // true

3、Object.assign

Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。

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

const target = { a: 1, b: 1 };const source1 = { b: 2, c: 2 };const source2 = { c: 3 };Object.assign(target, source1, source2);target // {a:1, b:2, c:3}

说明:

(1)浅拷贝

const obj1 = {a: {b: 1}};const obj2 = Object.assign({}, obj1);obj1.a.b = 2;obj2.a.b // 2

(2)同名属性的替换

(3)用途

为属性指定默认值

const DEFAULTS = {  logLevel: 0,  outputFormat: 'html'};function processContent(options) {  options = Object.assign({}, DEFAULTS, options);  console.log(options);  // ...}

 

转载地址:http://yqcmo.baihongyu.com/

你可能感兴趣的文章
maven学习笔记
查看>>
说说Java线程池
查看>>
Linux挂载命令mount用法及参数详解
查看>>
Nginx 动静分离
查看>>
MySQL如何实现数组功能
查看>>
Android第四十七期 - WheelView沉浸式菜单栏
查看>>
Spring Boot--模板从JSP到Freemarker的若干问题
查看>>
Java内存模型的探究
查看>>
CentOS6.5 从源码编译安装 GCC-4.9.1 全程实录《第二部分:编译,安装,测试》
查看>>
反查bash历史记录--用Enki学Linux系列(16)
查看>>
Stateful firewall
查看>>
Redis 常见的客户端工具
查看>>
Linux Svn 安装
查看>>
我的友情链接
查看>>
Tornado 多进程 & 异步
查看>>
Mysql left join,right join,inner join的效率比较
查看>>
SpringMVC的返回视图几种方式
查看>>
lvs+keepalived实现实时监控节点健康状态,并根据算法接管资源
查看>>
JavaScript之基础-12 JavaScript 错误处理
查看>>
SaltStack源码分析之group状态模块
查看>>