简化对象写法&箭头函数及声明特点
- 简化对象写法
- 箭头函数及声明特点
简化对象写法
ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法.这样的书写更加简介
- 声明变量和和函数
let name='南昌大学';
let change=function(){
console.log('我可以改变你!!');
}
- 定义对象
const SCHOOL={
name:name,
change:change
}
简化:
const SCHOOL={
name,
change
}
方法声明的简化:
const SCHOOL={
name,
change,
improve(){
console.log('我们可以提高你的技能');
}
}
箭头函数及声明特点
ES6 允许使用箭头定义函数。
声明一个函数
let fn=function(){
}
let fn2=(a,b)=>{
return a+b;
}
//调用函数
let result=fn2(1,2);
console.log(result);
//打印结果是3
- this 是静态的。 this 始终指向函数声明时所在作用域的this的值
function getName(){
console.log(this.name);
}
let getName2=()=>{
console.log(this.name);
}
//设置window 对象的name 属性
window.name='尚硅谷';
const SCHOOL={
name:'ATGUIGU'
}
//直接调用 this指向window
getName();
getName2();
//call方法调用
getName.call(SCHOOL); //改变了
getName2.call(SCHOOL) //向函数声明时所在作用域的this的值 window.name
- 不能作为构造实例化对象
let Person=(name,age)=>{
this.name=name;
this.age=age;
}
let me=new Person('xiao',30);
console.log(me);
- 不能使用agruments 变量
let fn=()=>{
console.log(arguments);
}
fn(1,2,3);
- 箭头函数的缩写
- 省略小括号,档形参有且只有一个的时候
// let add=(n)=>{
// return n+n;
// }
let add=n=>{
return n+n;
}
console.log(add(9));
//打印结果:18
- 省略花括号,当代码体只有一条语句的时候,此时return 必须省略,而且语句的执行结果就是函数的返回值
let pow=n=>n*n;
console.log(pow(9));
//打印结果81