我想在構造函數中創建一個關聯數組。但下面的代碼會引發錯誤。 Uncaught TypeError:無法設置未定義屬性'num'如何在EcmaScript中創建關聯數組
class Validate{
constructor(){
this.name['num'] = ['one','two'];
}
display() {
console.log(this.name['num']);
}
}
我想在構造函數中創建一個關聯數組。但下面的代碼會引發錯誤。 Uncaught TypeError:無法設置未定義屬性'num'如何在EcmaScript中創建關聯數組
class Validate{
constructor(){
this.name['num'] = ['one','two'];
}
display() {
console.log(this.name['num']);
}
}
您將初始化名稱,然後使用您的對象的屬性。在這種情況下,名稱未定義,您嘗試設置未定義的屬性。
class Validator
{
constructor(){
this.name = {num :['one','two']} ;
}
display() {
console.log(this.name['num']);
}
}
var validator = new Validator();
validator.display();
對於像這樣的問題,問題的解釋遠比「準備複製」的解決方案重要得多。 – Xufox
因爲名稱未定義,您嘗試設置未定義的屬性。 –
這不是一個關聯數組,不管它是什麼。這是一個對象。 – 2016-11-21 16:43:26
的Javascript沒有關聯數組,但對象文本可以作爲一種替代方法。 在這裏,您需要在使用它之前定義對象。
class Validate{
constructor(){
this.name={}//define this.name
this.name['num'] = ['one','two'];
}
display() {
console.log(this.name['num']);
}
}
您首先必須將'this.name'定義爲_something_。 – Xufox
@Xufox你可以寫代碼 – Dilkush
JavaScript沒有關聯數組,所以你不能創建一個。 – 2016-11-21 16:37:51