06_箭头函数

箭头函数

1. 声明

let fn1 = () => {
    // 代码体
}

2.带参

let fn2 = (a, b) => {
    return a + b
}
let result = fn2(1, 2) // 3

3. 特性一

// this 是静态的,this 始终指向函数声明时所在作用域下的 this 的值
function getName() {
    console.log(this.name)
}
let getName2 = () => {
    console.log(this.name)
}

// 设置 window 对象的 name 属性
window.name = 'window'
const school = {
    name: 'school'
}

// 直接调用
getName() // window
getName2() // window
// call 方法调用
getName().call(school) // school
getName2().call(school) // window

4. 特性二

// 不能作为构造函数实例化对象
let Person = (name, age) => {
    this.name = name
    this.age = age
}
let me = new Person('小明', 22) // 报错:Person is not constructor

5. 特性三

// 没有 arguments 变量
let fn = () => {
    console.log(arguments)
}
fn(1, 2, 3) // arguments is not defined

6. 箭头函数的简写

// 1. 省略小括号,当形参有且只有一个的时候
let add = n => {
    return 2 * n
}
// 2. 省略花括号,当代码只有一条语句时, return 也必须省略,默认返回这条语句的值
let pow = n => n * n
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。