ES6:箭头函数 ()=>{}

表达更加简洁,隐式返回值;没有自己的this、递归、事件绑定、解绑定;可代替其他函数
(形参1) = > { return函数返回值 }; 可省略为 形参1 = > 函数返回值;
当函数形参只有一个,()可以省略;但是没有形参时,()不可省略
如果把{}省略,会自动返回结果,不需要写return;但函数体中如有多条语句不可省略return和{}
特性:
箭头函数中的this是父级作用域中的this(箭头函数中的this指向箭头函数所在作用域的this)
箭头函数相当于匿名函数(不完全是);不存在预解析,必须先定义再调用
不能作为构造函数,不能使用new,没有原型对象,没有prototype属性
call/apply/bind方法仍适用于箭头函数,但就算调用这些方法扩充当前作用域,this也依旧不会变化
instanceof的执行方式与传统函数一致
不存在动态参数(arguments),但可以用剩余参数
let sb = () => 1;
//相当于
/*function sb(){
    return 1;
}*/
console.log(sb());//1
let demo = (name, age) => {
    return ({
        name: name,
        age: age,
    })//返回对象时需要用小括号包起来,因为大括号被占用解释为代码块
    
}
console.log(demo(1,2));//{ name:1,age:2,}
//箭头函数中的this是父级作用域中的this(箭头函数中的this指向箭头函数所在作用域的this)
let that=()=>this;
console.log(that())//Window
let obj={
    time:function(){
        setInterval( ()=>{
            //箭头函数中的this其实是父级作用域中的this
            console.log(this);//{time: ƒ} 
        },1000)
    }
}
obj.time();





#个人随笔记##读书笔记#
全部评论
大神太多了叭,感觉学无止境
点赞 回复 分享
发布于 2022-10-13 10:14 陕西

相关推荐

斑驳不同:还为啥暴躁 假的不骂你骂谁啊
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务