博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
es6+最佳入门实践(5)
阅读量:7062 次
发布时间:2019-06-28

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

5.对象扩展

5.1.对象简写

在es5中,有这样一种写法

var name = "xiaoqiang";var age = 12;var obj = {    name : name,    age : age}

在es6中,我们可以简写成这样一种形式

let name = "xiaoqiang";let age = 12;let obj = {    name,    age}

以上只是属性的简写,如果有方法应该怎么写呢?首先我们来回顾一下es5中的写法

var obj = {    show: function(){        alert(1)    }}

在es6中我们可以简写成下面的形式

var obj = {    show(){        alert(1)    }}

5.2.属性名表达式

属性名表达式意思就是说在es6中可以把属性写成一个表达式的形式,在es5中我们写属性名的时候,都是固定不变的

var obj = {    name: "xiaoqiang",    age: 19}//其中name和age是不变的固定写法

在es6中,支持属性名用一个表达式来表示,属性名可以是一个变量

let a = 'username';let b = 'age';let obj = {    [a]:"admin",    [b+'1']:19}console.log(obj)

5.3.扩展运算符

扩展运算符我们在前面接触过,用三个点表示(...),ES2018 将这个运算符引入了对象。

let {a,b,...c} = {c:1,b:2,a:3,d:4};console.log(a, b, c)  //3 2 {c: 1, d: 4}

5.4.Object新增方法

  1. Object.is()

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

console.log(Object.is('a', 'a'))  //trueconsole.log(Object.is({},{})) //false//和(===)不一样的是 解决NaN不等于自身的问题console.log(NaN === NaN)  //falseconsole.log(Object.is(NaN, NaN))
  1. Object.assign()

这个方法用来合并对象

let obj1 = {a: 1};let obj2 = {b: 2};let obj3 = {c: 3};console.log(Object.assign({}, obj1, obj2, obj3)) //{a: 1, b: 2, c: 3}

视频教程地址:

转载于:https://www.cnblogs.com/dadifeihong/p/10358117.html

你可能感兴趣的文章
Java EE7和Maven工程入门(2)
查看>>
MVP 模式在 Android 中的使用
查看>>
《数据结构》—— 队列
查看>>
hadoop 3.0 集群部署,超详细-Ali0th
查看>>
MySQL数据库MyISAM存储引擎转为Innodb
查看>>
我的友情链接
查看>>
在OpenSUSE上配置Apache+MySQL+PHP(写给自己看的笔记)
查看>>
初识Nginx
查看>>
Android WebView 缓存处理
查看>>
我的友情链接
查看>>
Nmap网络扫描从入门到精通实战视频课程
查看>>
我的友情链接
查看>>
简单讲解加密技术
查看>>
CentOS 7 编译安装PHP7
查看>>
CentOS7.5 安装golang语言环境
查看>>
我的友情链接
查看>>
分布式文件系统]各分布式文件系统比较、适用领域、原理、选型
查看>>
T-SQL
查看>>
我的友情链接
查看>>
java---异常
查看>>