” JavaScript Reflection and Reflect API “
equivalent
: 동등한, -에 대응하는 것identical
: 동일한, 똑같은either A or B
: (둘 중)어느 하나의It is false by default
: 그것은 기본적으로 거짓이다enumerable
: 열거retrieve
: (정보를)검색하다, 되찾다, 회수하다
Reflect.defineProperty(target, name, desc)
- 이 메소드는 새로운 속성을 정의하거나 존재하는 속성을 수정하는 것이다.
Object.defineProperty와 Reflect.defineProperty의 차이
-
리턴값이 다르다.
- Reflect.defineProperty()는 Boolean 타입으로 리턴
- Object.defineProperty()는 수정한 객체로 리턴
-
만약, 메소드들이 실패하였다면?
- Reflect.defineProperty()는 false를 리턴
- Object.defineProperty()는 예외를 발생시킨다.
data properties와 accessor properties의 차이
- data properties : 읽을 수 있거나 읽을 수 없거나 쓸 수 있거나 쓸 수 없는 값을 가지고 있다.
- accessor property : 속성 값을 설정하거나 되찾기 위한 함수의 getter-setter 쌍을 가지고 있다.
Using Reflect.define() and defining a data property descriptor
예제 소스코드
1 |
|
출력결과
1 |
|
예제 소스코드 (내용 추가)
1 |
|
출력결과 (내용 추가)
1 |
|
예제 소스코드 (false로 변경)
1 |
|
출력결과 (false로 변경)
1 |
|
Using Reflect.define() and defining an accessor property descriptor
예제 소스코드
1 |
|
출력결과
1 |
|
링크
https://www.codeproject.com/Articles/5275933/JavaScript-Reflection-and-Reflect-API