2017-05-27 1 views
-1
let b = 'es6' 

let obj1 = { 
    [b]: 'asdasda', 
} 

console.log(obj1) 

// [object Object] { 
// es6: "asdasda" 
// } 

let a = undefined 

let obj2 = { 
    [a] : 'asd', 
} 

console.log(obj2) 

// [object Object] { 
// undefined: "asd" 
// } 

Ich möchte die Eigenschaft hinzufügen, wenn es vorhanden war.es6 wie man eine Eigenschaft hinzufügt, wenn sie wahr war

wenn ich eine Ajax senden Ich brauche die params

vor, dies zu beurteilen, ich alle beurteilen und zusammen bekommen existieren und es

schicken, aber ich denke, es wird ein paar coole Art und Weise haben, es zu lösen

können mir alle helfen?

Antwort

-1
let a = undefined; 

let obj2 = {}; 

if(obj2.a != undefined){ 
obj2.a = "Test"; 
} 

console.log(obj2); 
+0

Während dieser Code die Frage beantworten kann, würde die Bereitstellung eines zusätzlichen Kontextes hinsichtlich dessen, wie und/oder warum er das Problem löst, den langfristigen Wert der Antwort verbessern. –

0

eine bedingt zusätzliche Eigenschaft wird in Code ausgeführt werden muß, anstatt in einer statischen Objektdeklaration.

Wenn dies nicht das ist, was Sie gesucht haben, dann erklären Sie bitte Ihre Frage, da es nicht ganz offensichtlich ist, welche Frage Sie stellen.

Ein Eigenschaftsname selbst kann nicht undefined sein. Eigenschaftsnamen sind Zeichenketten, so etwas wie Sie in Ihren Kommentaren zeigen {undefined: "asd"} wo die Eigenschaft ist eigentlich der Wert undefined ist nicht etwas, das Javascript tun kann. Ein Eigenschaftsname könnte die Zeichenfolge "undefined" sein, aber nicht der tatsächliche Wert undefined.

Verwandte Themen