2016-07-02 69 views
-2

我知道this是指constructor方法,但是this.tasks = tasks;行是做什麼的?使用JavaScript關鍵字

class TaskCollection { 
    constructor(tasks =[]) { 
     this.tasks = tasks; 
    } 
} 
+0

這或許有助於http://stackoverflow.com/questions/3127429/how-does-the-this-keyword-work – elclanrs

+0

'tasks'只是一個參數。 'this.tasks'是一個可訪問的對象屬性。你不能從構造對象的外部獲取'tasks',但是如果你先設置了'this.tasks',你可以用'obj.tasks'來訪問它。 – Xufox

+0

「this」在構造函數的給定上下文中實際上是指類實例本身。因此,通過在給定的上下文中使用「this」,可以通過將必要的參數傳遞給構造函數來設置類的實例化對象的「task」屬性。 – zubair1024

回答

4

該行將通過構造函數傳入的任務分配給類實例的「tasks」成員。

基本上,你可以這樣做:

collection = new TaskCollection([task1,task2]); 

現在,您可以訪問這些任務是這樣的:

collection.tasks // [task1,task2] 
0

我不認爲有保留字類在javascript ,這裏的函數TaskCollection定義了類,這段代碼在jsfiddle中工作正常,但需要定義什麼是數組任務,並且還要定義什麼是構造函數保留字

function TaskCollection (name, tasks) { 
     this.name = name; 
     this.tasks = tasks; 
} 

var collection = new TaskCollection('col', ['task1','task2']); 
console.log(collection.name);