| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Object_initializer | [Back] [Original] |
Get to know MDN better
const object1 = { a: "foo", b: 42, c: {} };
console.log(object1.a);
// : "foo"
const a = "foo";
const b = 42;
const c = {};
const object2 = { a: a, b: b, c: c };
console.log(object2.b);
// : 42
const object3 = { a, b, c };
console.log(object3.a);
// : "foo"
o = {
a: "foo",
b: 42,
c: {},
1: "",
"foo:bar": "",
shorthandProperty,
method(parameters) {
//
},
get property() {},
set property(value) {},
[]: "",
__proto__: prototype,
...spreadProperty,
};
JavaScript Object Notation (JSON)
JSON JSON __proto__ JSON.parse() __proto__ JSON
console.log(JSON.parse('{ "__proto__": 0, "__proto__": 1 }')); // {__proto__: 1}
console.log({ "__proto__": 0, "__proto__": 1 }); // SyntaxError: Duplicate __proto__ fields are not allowed in object literals
console.log(JSON.parse('{ "__proto__": {} }')); // { __proto__: {} }
console.log({ "__proto__": {} }); // {} (with {} as prototype)
const object = {};
key: value
"foo""age""baz" 3 "bar" 42
const object = {
foo: "bar",
age: 42,
baz: { myProp: 12 },
};
object.foo; // "bar"
object["age"]; // 42
object.baz; // {myProp: 12}
object.baz.myProp; // 12
const a = "foo";
const b = 42;
const c = {};
const o = {
a: a,
b: b,
c: c,
};
const a = "foo";
const b = 42;
const c = {};
//
const o = { a, b, c };
// In other words,
console.log(o.a === { a }.a); // true
const a = { x: 1, x: 2 };
console.log(a); // {x: 2}
const o = {
property: function (parameters) {},
get property() {
return 1;
},
set property(value) {},
};
"function"
//
const o = {
property(parameters) {},
};
const o = {
*generator() {
//
},
};
ES5 ES5
const o = {
generator: function* () {
//
},
};
//
let i = 0;
const a = {
[`foo${++i}`]: i,
[`foo${++i}`]: i,
[`foo${++i}`]: i,
};
console.log(a.foo1); // 1
console.log(a.foo2); // 2
console.log(a.foo3); // 3
const items = ["A", "B", "C"];
const obj = {
[items]: "Hello",
};
console.log(obj); // A,B,C: "Hello"
console.log(obj["A,B,C"]); // "Hello"
const param = "size";
const config = {
[param]: 12,
[`mobile${param.charAt(0).toUpperCase()}${param.slice(1)}`]: 4,
};
console.log(config); // {size: 12, mobileSize: 4}
Object.assign() prototype
const obj1 = { foo: "bar", x: 42 };
const obj2 = { foo: "baz", y: 13 };
const clonedObj = { ...obj1 };
// { foo: "bar", x: 42 }
const mergedObj = { ...obj1, ...obj2 };
// { foo: "baz", x: 42, y: 13 }
__proto__: value "__proto__": value __proto__ null [[Prototype]] null
__proto__ Object.prototype.__proto__ Object.create [[Prototype]]
const obj1 = {};
console.log(Object.getPrototypeOf(obj1) === Object.prototype); // true
const obj2 = { __proto__: null };
console.log(Object.getPrototypeOf(obj2)); // null
const protoObj = {};
const obj3 = { "__proto__": protoObj };
console.log(Object.getPrototypeOf(obj3) === protoObj); // true
const obj4 = { __proto__: "not an object or null" };
console.log(Object.getPrototypeOf(obj4) === Object.prototype); // true
console.log(Object.hasOwn(obj4, "__proto__")); // false
const __proto__ = "variable";
const obj1 = { __proto__ };
console.log(Object.getPrototypeOf(obj1) === Object.prototype); // true
console.log(Object.hasOwn(obj1, "__proto__")); // true
console.log(obj1.__proto__); // "variable"
const obj2 = { __proto__() { return "hello"; } };
console.log(obj2.__proto__()); // "hello"
const obj3 = { ["__proto__"]: 17 };
console.log(obj3.__proto__); // 17
// "__proto__"
const obj4 = { ["__proto__"]: 17, __proto__: {} }; // {__proto__: 17} (with {} as prototype)
const obj5 = {
["__proto__"]: 17,
__proto__: {},
__proto__: null, // SyntaxError: __proto__
};
const obj6 = {
["__proto__"]: 17,
["__proto__"]: "hello",
__proto__: null,
}; // {__proto__: "hello"} (null )
const obj7 = {
["__proto__"]: 17,
__proto__,
__proto__: null,
}; // {__proto__: "variable"} (null )
| ECMAScript 2027 LanguageSpecification # sec-object-initializer |
| Web Proxy Viewer | New URL | Original Page |