您好,登錄后才能下訂單哦!
這篇文章主要講解了“es6箭頭函數什么時候不能用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“es6箭頭函數什么時候不能用”吧!
在es6中,箭頭函數在computed里面不能使用;因為箭頭函數中的this指向是根據上下文的,而在computed中箭頭函數的this會指向window,數據無法出現,因此不能在computed里使用箭頭函數。
本教程操作環境:windows10系統、ECMAScript 6.0版、Dell G3電腦。
箭頭函數里面的this是根據上下文的,在computed里用箭頭函數,由于找不到對應的內容,this會指向window,數據無法出現。
示例如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>計算緩存</title> <script src="js/vue.js"></script> </head> <body> <div id="app"> <p>{{name}}</p> </div> <script> new Vue({ el:"#app", data:{ firstName:"Zheng", lastName:"yifeng" }, // 計算屬性不能用箭頭函數,箭頭函數的this會指向window computed:{ name(){ return this.firstName+this.lastName } //this => window // name:()=>console.log(this) } }) </script> </body> </html>
拓展知識:
箭頭函數有他的便捷有他的優點,但是他也有缺點,他的優點是代碼簡潔,this提前定義,但他的缺點也是這些,比如代碼太過簡潔,導致不好閱讀,this提前定義,導致無法使用js進行一些es5里面看起來非常正常的操作。針對這些缺點,下面我就總結一下什么情況下不該使用箭頭函數。
在對象上定義函數
在原型上定義函數
動態上下文中的回調函數
構造函數中
太簡短的(難以理解)函數
毫無疑問,箭頭函數帶來了很多便利。恰當的使用箭頭函數可以讓我們避免使用早期的.bind()函數或者需要固定上下文的地方并且讓代碼更加簡潔。
箭頭函數也有一些不便利的地方。我們在需要動態上下文的地方不能使用箭頭函數:定義需要動態上下文的函數,構造函數,需要this對象作為目標的回調函數以及用箭頭函數難以理解的語句。在其他情況下,請盡情的使用箭頭函數。
感謝各位的閱讀,以上就是“es6箭頭函數什么時候不能用”的內容了,經過本文的學習后,相信大家對es6箭頭函數什么時候不能用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。