与 ES6 的战斗
引入文件:import "./src/arrow.js"
该 .js 可以省略
常量:
es5 中常量的写法 :Object.defineProperty(window,"PI2",{
value: 3.24132, //默认值
writable: false, //只读
})
es6 中常量的写法 : const pi = 3.14 作用域
在 ES6 中 一个{ }就是一个单独的作用域 箭头函数:
()=>{
}
【 (小括号里是参数)参数只有一个的时候:() 的 值 可以不写】
【{ }如果 花括号里的表达式 可以直接作为返回值 那就可以省略 花括号】
以前是: function a(){ }
Es5: this 的 指向 : 哪个函数调用了谁this 就指向谁
ES6: this 的 指向 : 谁定义了 thisthis 就指向谁
ES5 的 写法:
var arr =
var odd = arr.map(function(v){
return v + 1 //这里 v就是循环里面的值
})
console.log(odd) //结果 2,3,4,5,6
ES6 的 写法:
{
let events =
let odds = events.map( v => v+1);
console.log(odds)
} 默认参数:
Es6 写法: function f(x,y = 7 , z = 42){ return x + y + z }
必选参数:
{
function checkParameter(){
throw new Erroe('can\'t be empty')
}
function f(x = checkParameter(),y = 7, z= 42){
return x + y + z
}
try{
}catch(e){
console.log(e)
} finally{
}
} 可变参数的处理
可变长度扩展符号 ...a这就是列表的意思 所以下面的操作
function f(...a){
var sum = 0;
a.forEach(item=>{
sum+=item*1
});
return sum
}
数组合并
//ES5 的写法:
var params = ['hello', true ,7];
var other = .concat(params);
console.log(other);
//ES6 的写法:
{
let params = ['hellow' , true ,7]
var other = ;
console.log(other)
}; 模板字符串:
var name='胖子';var age = '28console.log(name + '的年龄是'+ age);
ES6写法 注意 console里面的不是单引号 而是 ESC下面的 那个 啥符号来着
var name='胖子';var age = '28console.log(`${name}的年龄是${age}`)
页:
[1]
2