美文网首页
ES6 对象简写与箭头函数

ES6 对象简写与箭头函数

作者: BlueSkyBlue | 来源:发表于2020-04-29 18:50 被阅读0次

    对象简写

    我们在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。

    相关文章

      网友评论

          本文标题:ES6 对象简写与箭头函数

          本文链接:https://www.haomeiwen.com/subject/ksmnwhtx.html