[javascript] プロパティ名の変数を使用してオブジェクトを作成する



1 Answers

ES6では、計算されたプロパティ名が導入されています

function CreateJSON (propertyName){
    var myObject = { [propertyName] : "Value"};
}

注意ブラウザのサポートは現在のところごくわずかです。

Question

この質問には既に回答があります:

オブジェクトの作成にオブジェクトリテラルプロパティで変数名を使用することは可能ですか?

function createJSON (propertyName){
    return { propertyName : "Value"};
}

var myObject = createJSON("myProperty");

console.log(myObject.popertyName);  // prints "value"
console.log(myObject.myProperty);  // Does not exist



適切なもの(JSON機能は新しいブラウザに共通で、json2.jsは完全に有効なフォールバックです)は、JSON文字列を作成して解析することです。

function func(prop, val) {
    var jsonStr = '{"'+prop+'":'+val+'}';
    return JSON.parse(jsonStr);
}

var testa = func("init", 1);
console.log(testa.init);//1

JSONのプロパティ名は二重引用符で囲む必要があります。






Related