Reflect.has()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.
Reflect.has()
정적 메서드는 in
연산자의 함수판입니다.
시도해보기
const object1 = {
property1: 42,
};
console.log(Reflect.has(object1, "property1"));
// Expected output: true
console.log(Reflect.has(object1, "property2"));
// Expected output: false
console.log(Reflect.has(object1, "toString"));
// Expected output: true
구문
js
Reflect.has(target, propertyKey);
매개변수
target
-
속성을 탐색할 객체.
propertyKey
-
탐색할 속성의 이름.
반환 값
객체가 속성을 가지고 있는지 나타내는 Boolean
.
예외
설명
Reflect.has()
메서드는 객체에 속성이 존재하는지 판별할 수 있습니다. in
연산자처럼 동작합니다.
예제
Reflect.has()
사용하기
js
Reflect.has({ x: 0 }, "x"); // true
Reflect.has({ x: 0 }, "y"); // false
// 프로토타입 체인에 존재하는 속성도 true 반환
Reflect.has({ x: 0 }, "toString");
// .has() 처리기 메서드를 가진 Proxy
obj = new Proxy(
{},
{
has(t, k) {
return k.startsWith("door");
},
},
);
Reflect.has(obj, "doorbell"); // true
Reflect.has(obj, "dormitory"); // false
명세
Specification |
---|
ECMAScript® 2025 Language Specification # sec-reflect.has |
브라우저 호환성
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
has |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.