ES6
ES6S是一种统一的规范
javaScript和jScript都是ES6的实现
学习地址:http://es6.ruanyifeng.com
变量定义
var 全局变量(尽量不用)
ES6新特性:
let 局部变量(支持作用域)
const 常量(相当于final)
块级作用域:
{ }(花括号内表示一个作用域)
解构表达式
1.取数组(数组有索引所以可以取括号内对应的值)
用 “,” 代替不取对象的位置
... 省略符 取省略的所有
let [,...rest] = arr
(取除第一个的所有)
取值例子:
let arr = [2,3,4,5]
let [x,y] = arr
输出:x = 2 y = 3
2.取对象
let arr = {name:"Lisi", age:"21"}
let {name,age} = p
取对象要名称对应
let {name:n} = p
对取出的对象进行重命名用“:”
3.多重解构
取对象中的对象
let arr = {name:"Lisi", age:"21",gril:{name:"li"}}
let {gril:{name}}
4.函数内部的解构表达式
以前:
const hello = function(person){
console.log(person.name,person.age)
}
ES6中:
const hello = function({name,age}){
console.log(name,age)
}
函数优化(箭头函数)
lambda表达式:
使用lamd]bda后:
const hello = ({name,age}) => console.log(name,age)
map和reduce
map:(分散处理:逐个处理)
let arr = ["1","4'',"2","-1"]
let arr2 = arr.map(s => parseaInt(s)) //将数组里的值全部转为int型
reduce:(聚合处理:累计处理)
arr2.reduce((a,b) => a+b)
arr2.reduce((a,b) => a+b,0)
//可以设置初始值
相当于求所有值的总和