Reflect.set()

Reflect.set() 정적 메서드는 객체 속성의 값을 설정합니다.

구문

Reflect.set(target, propertyKey, value[, receiver])

매개변수

target
속성의 값을 설정할 대상 객체.
propertyKey
값을 설정할 속성의 이름.
value
설정할 값.
receiver Optional
속성이 설정자일 경우, this로 사용할 값.

반환 값

값 설정의 성공 여부를 나타내는 Boolean.

예외

targetObject가 아니면 TypeError.

설명

Reflect.set() 메서드는 객체 속성의 값을 설정할 수 있습니다. 속성 추가도 할 수 있으며, 함수라는 점을 제외하면 동작 방식은 속성 접근자와 같습니다.

예제

Reflect.set() 사용하기

// 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 Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Reflect.set' in that specification.
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
The definition of 'Reflect.set' in that specification.
Draft  

브라우저 호환성

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
setChrome Full support 49Edge Full support 12Firefox Full support 42IE No support NoOpera Full support 36Safari Full support 10WebView Android Full support 49Chrome Android Full support 49Firefox Android Full support 42Opera Android Full support 36Safari iOS Full support 10Samsung Internet Android Full support 5.0nodejs Full support 6.0.0

Legend

Full support  
Full support
No support  
No support

같이 보기