ES6为一些已有的功能提供了非破坏性更新,这类新语法能做的事情其实用ES5也可以做,只是会稍微复杂一些,称之为语法糖。

对象属性的简洁表示法

声明的对象中包含若干属性,其属性值由变量表示,且变量名和属性名一样的只写一个变量名即可。比如,var a=[], var obj={a:a},可以简写为var obj={a};

箭头函数

ES6 为我们提供了一种写匿名函数的新方法就是箭头函数,不需要使用function关键字,其参数和函数体之间以=>相连接。

箭头只允许它们赋值给一个变量;

箭头头函数不能用做构造函数,你不能对箭头函数使用new关键字;

箭头函数也没有prototype属性;

箭头函数绑定了词法作用域,不会修改this的指向。

箭头函数返回值为一个对象时,你需要用小括号括起你想返回的对象。

解构赋值

对象解构:对象赋值给用大挂号包裹变量,对象的属性会把对应的属性值赋值给变量。比如

let person = { name: '李白', age: 18 };

let { name, age } = person;

console.log(name); // '李白'

console.log(age);  //18

数组解构,允许你跳过你不想用到的值,在对应地方留白即可,比如

let [a,b,c]=[1,2,3];
console.log(a)//1
console.log(b)//2
console.log(c)//3

块级作用域

const具有和let一致的块作用域,区别在于const声明的变量在声明时必须赋值,不能再被赋予别的值,否则会报错。

通过const声明的变量值并非不可改变,声明的数组本身还是可以添加元素,只是数组的指向不变,引用不变,即内存地址不变。

if(true){
let a=10;
console.log(a);//10
}
console.log(a);//undefined

模板字符串

用反撇号声明,通过模板字符串,你可以在模板中插入任何JavaScript表达式了;插入变量${变量},因为模板字符串本身也是JavaScript表达式,故可以嵌套模板字符串;模板字符串默认支持多行。

var str = `this is ${name}`;

拓展运算符

...,可以把任意可枚举对象转换为数组

把arguments对象换成数组,arguments对象是函数的参数的类数组,包含传递给函数的每个参数,arguments[0],就是函数第一个参数

把字符串转换为由每一个字母组成的数组,

把数组中嵌套的数组合并在一个数组中

function num(n1,n2,n3,n4,n5){
console.log(n1,n2,n3,n4,n5)
}
num(1,2,3,4,5)
const arr=[100,200,300,400,500]
num(arr[0],arr[1],arr[2],arr[3],arr[4])// 100 200 300 400 500
num(...arr) // 100 200 300 400 500

最新文章

  1. 支付宝接入文档中TRADE_SUCCESS和TRADE_FINISHED的本质区别
  2. busybox microcom
  3. 原创新闻 11 个最佳 jQuery 滚动条插件
  4. .net 并发
  5. MYSQL存储过程和函数学习笔记
  6. VC实现将对话框最小化到系统托盘
  7. 《编程简介(Java) ·10.3递归思想》
  8. 查询session内容
  9. JVM垃圾回收
  10. IOS不支持iframe的解决办法
  11. Java中static、final、static final的区别(转)
  12. [No0000132]正确使用密码加盐散列[译]
  13. Mysql/Mariadb配置日志
  14. 洛谷 3784(bzoj 4913) [SDOI2017]遗忘的集合——多项式求ln+MTT
  15. React onPaste 获取粘贴板的值
  16. annotation中的Autowired
  17. python学习笔记011——内置函数__sizeof__()
  18. So you've been rejected, now what? On appeals in peer-reviewed publications(From Wiley Exchanges)
  19. python开发学习-day06(模块拾忆、面向对象)
  20. 详解CSS中的几种长度px、em、pt

热门文章

  1. 第一章epoll
  2. 手写atoi、strcpy、strcat
  3. Ceph实现数据的'不拆分'
  4. Python_爬虫_BeautifulSoup网页解析库
  5. HBuilderX SVN地址更改(SVN服务器IP地址变更)
  6. DDD(领域驱动设计)--战略设计
  7. Linux 文本处理批量查找与替换
  8. CTF-流量分析笔记
  9. 不会吧!做了这么久开发还有不会NIO的,看看BAT大佬是怎么用的吧
  10. 图像分割必备知识点 | Dice损失 理论+代码