यह ईसीएमएस्क्रिप्ट 2015 (या ईसीएमएस्क्रिप्ट 6) का हिस्सा है। आप पहचानकर्ताओं को निर्दिष्ट करके, ऑब्जेक्ट अक्षरों में ऑब्जेक्ट्स में नई गुण बना सकते हैं।
MDN's Object Initializer's Property Definitions section का हवाला देते हुए,
ECMAScript 6 के साथ
, वहाँ एक छोटी उपलब्ध अंकन प्राप्त करने के लिए एक ही है:
var a = "foo",
b = 42,
c = {};
// Shorthand property names (ES6)
var o = { a, b, c };
ECMAScript 6 विनिर्देश में इसी अनुभाग here है,
AssignmentProperty: IdentifierReferenceप्रारंभकर्ता ऑप्ट
- पीIdentifierReference की StringValue बनें।
- lref संकल्प बाध्यकारी (पी) हो।
- ReturnIfAbrupt (पी)।
- वी GetV हो चलो (मूल्य, पी)।
- ReturnIfAbrupt (v)।
- तो प्रारंभकर्ता ऑप्ट मौजूद है और वीअपरिभाषित, तो है
- DefaultValueप्रारंभकर्ता के मूल्यांकन का परिणाम हो करते हैं।
- v GetValue (डिफ़ॉल्ट वैल्यू) दें।
- ReturnIfAbrupt (v)।
- IsAnonymousFunctionDefinition (प्रारंभकर्ता) यदि सच, तो है
- hasNameProperty HasOwnProperty होने दो (वी, "नाम")।
- ReturnIfAbrupt (हैNameProperty)।
- तो hasNamePropertyझूठी है, SetFunctionName (वी, पी) प्रदर्शन करते हैं।
- वापसी PutValue ( lref, वी)।
असल में, विनिर्देश का कहना है कि, अगर आप सिर्फ एक पहचानकर्ता का उपयोग कर रहे, पहचानकर्ता के नाम के साथ एक नया संपत्ति बनाया जाएगा, और मूल्य उस पहचानकर्ता के वास्तविक मूल्य हो जाएगा। यह समारोह का नाम भी हो सकता है।
var a = "foo", b = 42, c = {}, d = function() {};
console.log({a, b, c, d});
// { a: 'foo', b: 42, c: {}, d: [Function] }
संस्करण 43.0.2357.81 लिनक्समिंट 17.1 (64-बिट) पर चल रहे उबंटू 14.04 पर निर्मित – exebook