变量
let PI = 3.1415926;
常量
const PI = 3.1415926;
作用域(使用花括号)
{
function foo() {
return 1
}
console.log("foo() === 1", foo() === 1)
{
function foo() {
return 2
}
console.log('foo() === 2', foo() === 2)
}
}
箭头函数(this的指向,有新的意义)
()=>{
}
只有一个参数的时候可以省略小括号,花括号中表达式直接作为返回值的话,也可以省略花括号。
例如:
{
let evens = [1, 2, 3, 4, 5];
let odds = evens.map(v => v + 1);
console.log(evens, odd);
}
this的指向,es5和es6的区别
es5中this指向的是调用了这个函数的对象
es6中this指向的是定义时this的指向,即是构造函数的实例。
默认参数
{
function f(x,y = 7, z = 42){
return x + y + z
}
console.log(f(1,3));
}
可变参数
{
function f(...a){
var sum=0;
a.forEach(item=>{
sum+=item*1
});
return sum
}
console.log(f(1,2,3,6));
}
合并数组
{
var params=['hello', true, 7];
var other=[1,2,...params];
console.log(other);
}
对象代理
{
let person = new Proxy(Person,{
get(target,key){
return target[key]
},
set(target,key,value){
if(key!=='sex'){
target[key]=value;
}
}
});
console.table({
name;person.name,
sex:person.sex,
age:person.age
});
try {
person.sex='female';
} catch (e) {
console.log(e)
} finally{
}
}