簡體   English   中英

es6使用括號聲明函數

[英]es6 declaring an function with brackets

我想用簡短的Synthax聲明以下函數,但是我總是回想一個錯誤,說“ VM831:9 Uncaught TypeError:Person不是構造函數(…)”我需要編寫函數嗎?

var Person = () => {
 this.age = 0;

 this.set = () => {
    this.age++; 
   }
 }

 var p = new Person();

箭頭函數使用“詞法” this ,即它們始終從當前范圍繼承this ,而不是從new運算符創建的this繼承。

因此,它們不能用作構造函數。

函數不能具有構造函數。 因此,請改用ES6類。

class Person {
     constructor(age) {
         this.age = age;
     }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM