ES6 对象简写与箭头函数

2020-04-29  本文已影响0人  BlueSkyBlue

对象简写

我们在ES6中定义对象。如果对象的属性名和外部的变量名同名,则可以省略值,直接写属性名。

let username = 'Kobe'
let age = 39

let obj = {
    username,
    age
}

对象中要定义function的时候可以省略function,直接写对象方法。

let obj = {
    username,
    age,
    getName(){
        return this.username
    }
}

箭头函数

作用:定义匿名函数
基本语法:

() => console.log('xxx')

i => i+2
(i, j) => i+j

函数体不用大括号,默认返回结果。
函数体如果有多个语句需要使用{}包围。若需要返回特定的内容,需要手动添加。
适用场景:常用来定义回调函数。

形参情况

  1. 没有参数
let fun = () => console.log('I am arrow function.')
  1. 只有一个形参的时候
let fun1 = a => console.log(a)

当只有一个形参的时候()可以省略。

  1. 两个及两个以上的形参
let fun2 = (x, y) => console.log(x, y)

此时()是不能省略的。

函数体的情况

  1. 函数体只有一条语句或是表达式的时候{}可以省略。会自动返回语句的执行结果或是表达式的结果。
let fun3 = (x, y) => x+y
  1. 函数体不止一条语句或表达式的情况。{}不可以省略。
let fun4 = (x, y) => {
    console.log(x, y)
    return x + y
}

箭头函数的特点:

  1. 简洁
  2. 箭头函数没有自己的this,箭头函数的this不是调用时候决定的,而是定义的时候处在的对象就是它的this。
  3. 箭头函数的this看外层是否有函数,如果有,则外层函数的this就是内层箭头函数的this。如果没有则this就是window。
上一篇下一篇

猜你喜欢

热点阅读