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