Reflect.set()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itโs been available across browsers since โจ2016๋ 9์โฉ.
Reflect.set()
์ ์ ๋ฉ์๋๋ ๊ฐ์ฒด ์์ฑ์ ๊ฐ์ ์ค์ ํฉ๋๋ค.
์๋ํด ๋ณด๊ธฐ
const object1 = {};
Reflect.set(object1, "property1", 42);
console.log(object1.property1);
// Expected output: 42
const array1 = ["duck", "duck", "duck"];
Reflect.set(array1, 2, "goose");
console.log(array1[2]);
// Expected output: "goose"
๊ตฌ๋ฌธ
js
Reflect.set(target, propertyKey, value[, receiver])
๋งค๊ฐ๋ณ์
target
-
์์ฑ์ ๊ฐ์ ์ค์ ํ ๋์ ๊ฐ์ฒด.
propertyKey
-
๊ฐ์ ์ค์ ํ ์์ฑ์ ์ด๋ฆ.
value
-
์ค์ ํ ๊ฐ.
receiver
Optional-
์์ฑ์ด ์ค์ ์์ผ ๊ฒฝ์ฐ,
this
๋ก ์ฌ์ฉํ ๊ฐ.
๋ฐํ ๊ฐ
๊ฐ ์ค์ ์ ์ฑ๊ณต ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ Boolean
.
์์ธ
์ค๋ช
Reflect.set()
๋ฉ์๋๋ ๊ฐ์ฒด ์์ฑ์ ๊ฐ์ ์ค์ ํ ์ ์์ต๋๋ค. ์์ฑ ์ถ๊ฐ๋ ํ ์ ์์ผ๋ฉฐ, ํจ์๋ผ๋ ์ ์ ์ ์ธํ๋ฉด ๋์ ๋ฐฉ์์ ์์ฑ ์ ๊ทผ์์ ๊ฐ์ต๋๋ค.
์์
Reflect.set()
์ฌ์ฉํ๊ธฐ
js
// Object
var obj = {};
Reflect.set(obj, "prop", "value"); // true
obj.prop; // "value"
// Array
var arr = ["duck", "duck", "duck"];
Reflect.set(arr, 2, "goose"); // true
arr[2]; // "goose"
// ๋ฐฐ์ด ์๋ฅด๊ธฐ
Reflect.set(arr, "length", 1); // true
arr; // ["duck"];
// ๋งค๊ฐ๋ณ์๋ฅผ ํ๋๋ง ์ ๊ณตํ๋ฉด ์์ฑ ํค ์ด๋ฆ์ ๋ฌธ์์ด "undefined", ๊ฐ์ undefined
var obj = {};
Reflect.set(obj); // true
Reflect.getOwnPropertyDescriptor(obj, "undefined");
// { value: undefined, writable: true, enumerable: true, configurable: true }
๋ช ์ธ
Specification |
---|
ECMAScriptยฎ 2026 Language Specification # sec-reflect.set |
๋ธ๋ผ์ฐ์ ํธํ์ฑ
Loadingโฆ