声明变量:
is not defined
undefined
var a=1,b=3,c=4;
var arr=[1,2,3];
ECMA6.0中,
数组一般写法:
let/var [a,b,c]=[,2,3] ;
console.log([a,b,c]) //返回 undefined,2,3
带默认值的数组写法:
let/var [a=11,b=54545,c=123]=[,2,]
//对应的 [a,b,c]---->11,2,123
对象的解构:
需要注意的是,对象的解构赋值和对象内key的顺序没有关系
let {fun,bar}={
fun:'hello',
bar:'sss
}
或者:let {fun,bar}={
fun:'hello',
bar:'sss'
}
对象如果设置了别名,原来的名字会被别名替换
let {fun:abc,bar}={
bar:'sss',
fun:'hello', //这里不能写abc
}
console.log(abc,bar) 这里不能写fun
带默认值和别名的对象解构写法:
let {fun:abc='aaa',bar}={
bar:'sss',
}
console.log(abc,bar) // aaa,sss
Math对象解构:
let {cos,sin}=Math;
console.log(typeof cos)
//function类型, 必须为Math中已经存在的方法才可以进行解构
字符串解构:
let [a,b,c]='helo' console.log(a,b,c) //h e l
获取字符串的长度:
let {length}='hello' console.log(length) // 5
箭头函数:
ECMA5.0中传统函数的写法:
function foo(){
console.log();
}
ECMA6.0中箭头函数的写法:
let foo=()=>console.log();
ES5.0带参数和返回值的箭头:
function foo(num){
return num;
}
ES6.0带参数和返回值的箭头:
let foo=num=>num //第一个num形参,第二个num返回值,()可加可不加
let foo=(num,abv)=>{
let c=110;
console.log(num+abv+c) ;
}
//传递多个参数加(),多个函数体加{},单个函数体也可以加{}
ECMA5.0循环遍历 数组中的数据
var arr=[123,456,789];
arr.forEach(function(e,index){ console.log(e,index)})
//123 0 456 1 789 2
ES6.0:
let arr=[123,456,789];
arr.forEach((e,index)=> {
console.log(e,index)
})`
而对于普通函数和箭头函数使用上的最大区别,请在我的另一篇博文中慢慢评鉴
箭头函数和普通函数使用上的区别