When attempting to create a dynamic key for a JavaScript object, using this syntax <pre>jsObj{'key' + i} = 'example' + 1;</pre> will not work. The correct approach employs square brackets:
jsObj['key' + i] = 'example' + 1;
In JavaScript, arrays are a specialized type of object, with the distinction being that they maintain a length property that reflects the count of numeric properties (indices) plus one. This special behavior is not mimicked by standard objects, but the square bracket operator works identically on both types.
For setting a property with a numeric key on an array instance, the length property will be automatically updated to reflect the largest numeric key. However, for a plain object, no such update occurs.
It's important to note that serializing an array instance to JSON only includes the numerically-named properties, excluding any others.
In ES6, you can use Computed Property Names for a more concise syntax:
var key = 'DYNAMIC_KEY',
obj = {
[key]: 'ES6!'
};
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3