ค้นหาเว็บไซต์

มีวิธีใดบ้างในการใช้คีย์ตัวแปรในอ็อบเจ็กต์ลิตเทอรัลของ JavaScript?


ฉันมีโค้ดแบบนี้

var key = "anything";   
var object = {   
    key: "key attribute"  
};

ฉันต้องการทราบว่ามีวิธีในการแทนที่ key ด้วย "anything" หรือไม่

ชอบ

var object = {  
    "anything": "key attribute"     
};

คำตอบ #1

ใน ES6 ใช้ ชื่อคุณสมบัติที่คำนวณได้

const key = "anything";   

const object = {   
    [key]: "key attribute"
//  ^^^^^  COMPUTED PROPERTY NAME
};

สังเกตวงเล็บสี่เหลี่ยมรอบ key คุณสามารถระบุสมการใด ๆ ในวงเล็บสี่เหลี่ยมได้จริง ไม่ใช่แค่ตัวแปรเท่านั้น

คำตอบ #2

ครับ/ค่ะ คุณสามารถใช้ได้:

var key = "anything";
var json = { };
json[key] = "key attribute";

หรือเพียงแค่ใช้วิธีที่สองของคุณถ้าคุณมีค่าพร้อมเมื่อเขียนโปรแกรม

คำตอบ #3

ใน Javascript สมัยใหม่ (ECMAScript 6) คุณสามารถล้อมตัวแปรด้วยวงเล็บเหลี่ยมได้:

var key = "anything";

var json = {
    [key]: "key attribute"
};

คำตอบ #4

นี่น่าจะใช้ได้ผล:

var key = "anything";

var json = {};

json[key] = "key attribute";

บทความที่เกี่ยวข้อง