มีวิธีใดบ้างในการใช้คีย์ตัวแปรในอ็อบเจ็กต์ลิตเทอรัลของ 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";
