新人加入,顺便带来一个问题
各位大佬,图中这三种写法分别有什么本质上的区别吗
4 回复
this 指向不同 ?
login() {}
是對象方法成員的簡寫,logout: function () {}
可以簡寫成 logout() {}
,但是簡寫的形式不能作為構造函數使用。userInfo: () => {}
是箭頭函數的寫法,不能作為構造函數,還有其他箭頭函數的「個性」。對象方法成員一般採用 login() {}
或者 logout: function () {}
這兩種寫法。
第一种是es6的写法,相当于第三种写法; 第二种写法也是es6的写法,目的是少些几个单词的代码.注意: 这样写的函数内,最好不要有this指向,可能达不到你预期的额效果;也就是说 let userM = { userinfo :()=>{ consolo.log(this) //这个this的指向不是 userM这个对象,指向windows对象 } }
补充一下箭头函数的this指向: 箭头函数绑定了父级作用域的上下文