ES6新特性_箭头函数

ES6新特性_箭头函数

本文主要介绍,ES6新特性_箭头函数,ES6 允许使用箭头(=>)来定义函数。
ES6_允许使用箭头(=>)来定义函数
// 一般写法
let func = function(){}

// ES6写法
let func2 = ()=>{}
ES6_箭头函数特性1:this是静态的,this始终指向函数声明时所在的作用域下的this的值
function func3(){
    console.log(this.name);
}

let func4 = ()=>{
    console.log(this.name);
}

// 设置 window 对象的 name 属性
window.name = 'fujuhao.com';
func3(); // fujuhao.com
func4(); // fujuhao.com

const a = { name: "aaaaaaa" };
func3.call(a); // aaaaaaa
func4.call(a); // fujuhao.com
ES6_箭头函数特性2:不能做为构造实例化对象
let Persion = (name, age)=>{
    this.name = name;
    this.lage = age;
}

let me = new Persion('fujuhao', 22);
console.log(me); // Uncaught TypeError: Persion is not a constructor
        
ES6_箭头函数特性3:不能使用 arguments 变量
let func5 = ()=>{
    console.log(arguments);
}
    
func5(1,2,3); // Uncaught ReferenceError: arguments is not defined
ES6_箭头函数的简写
// 通常写法
let add = (n)=>{ return n+n; }

// 省略小括号, 当形参有且只有一个的时候
let add = n => { return n+n; }

// 省略大括号和小括号, 当代码体只有一条语句的时候,同时return语句也要省略
let add = n => n+n;
console.log(add(9));
Loading...