객체에 javaScript의 키가 있는지 확인하는 방법
JavaScript에서는 IN 연산자, HasOwnProperty 메소드 또는 Object.Keys ()를 사용하여 포함 ()를 일치시킬 수 있습니다. 1. IN 연산자를 사용하여 객체 자체의 키를 확인하고 프로토 타입 체인을 확인하십시오. 이는 키 소스가 불확실한 상황에 적합합니다. 2. hasownProperty () 메소드 (또는 더 안전한 대상 .prototype.hasownProperty.call (OBJ, Key))을 사용하여 프로토 타입 체인의 간섭을 피하기 위해 객체의 자체 속성 만 확인하십시오. 3. 객체 .keys (obj)를 사용하여 배열 방법의 도움으로 판단하려면 (키)를 포함하지만 성능은 약간 열악합니다. 참고 : 키가 OBJ.key를 통해 존재하는지 판단하지 마십시오. FER ... in loop to Judge를 사용하는 것이 좋습니다. Object.create (null)와 같은 특수 객체는 구체적으로 처리해야합니다.
객체에 JavaScript의 특정 키가 포함되어 있는지 여부를 결정하는 것은 매일 개발에서 매우 일반적인 요구 사항입니다. 예를 들어, API 데이터, 구성 객체 또는 양식 확인을 처리 할 때는 종종 작동하기 전에 특정 속성이 존재하는지 확인해야합니다.

in
연산자를 사용하여 키가 존재하는지 확인하십시오.
이것은 가장 직접적이고 권장되는 방법입니다. in
연산자는 객체 자체와 프로토 타입 체인에 키가 포함되어 있는지 확인합니다.
예를 들어:
const obj = {이름 : 'Alice', 나이 : 25}; Console.log (OBJ의 '이름'); // 진실 Console.log (OBJ의 '성별'); // 거짓
이 방법은 키가 객체 자체에 정의되어 있는지 또는 상속되는지 확실하지 않은 상황에 적합합니다. 그러나 객체 자체의 속성 만 확인하려면 in
하는 것이 좋습니다.

hasOwnProperty()
메소드를 사용하여 자체 속성을 확인하십시오
객체 자체 에이 키가 있는지 여부에 대해서만 관심이 있고 프로토 타입 체인의 속성을 고려하지 않으면 hasOwnProperty()
메소드를 사용할 수 있습니다.
const obj = {이름 : 'Alice'}; console.log (obj.hasownproperty ( 'name')); // 진실 console.log (obj.hasownproperty ( 'tostring')); // Tostring은 프로토 타입 체인에서 나오기 때문에 false
참고 : 일부 라이브러리는 hasOwnProperty
의 동작을 수정하거나 객체 자체 에이 방법이 없을 수 있습니다 (예 : Object.create(null)
를 통해 생성 된 객체). 호출은 현재 오류를 일으킬 수 있으므로 더 안전한 방법은 Object.prototype.hasOwnProperty.call(obj, key)
사용하는 것입니다.

Object.keys()
및 includes()
배열 메소드를 사용하여 판단하려면 먼저 객체의 모든 키를 얻은 다음 includes()
사용하여 존재하는지 여부를 결정할 수 있습니다.
const obj = {이름 : 'Alice', 나이 : 25}; console.log (object.keys (obj) .includes ( 'name')); // 진실 console.log (Object.keys (obj) .includes ( 'gender')); // 거짓
이 방법의 장점은 서면이 명확하고 다른 배열 방법에 사용하기에 적합하다는 것입니다. 그러나 불리한 점은 성능이 약간 악화된다는 것입니다. 키 배열이 필요하고 반복 및 검색이 필요하기 때문입니다.
이러한 일반적인 오해를 조심하십시오
- 값이 존재하는지 확인하기 위해 직접
obj.key
사용하십시오. 속성 값이undefined
되지 않았기 때문에 실제로 키가 존재하는지 정확하게 결정할 수 없습니다. -
for...in
키가 존재하는지 여부를 결정하려면 Traversal에 더 적합합니다. - 객체가
Object.create(null)
를 통해 생성되면hasOwnProperty
메소드가 없으며Object.prototype
으로 호출해야합니다.
기본적으로 그게 다야. 키가 존재하는지 여부를 결정하는 것은 복잡하지 않지만 다른 시나리오에서 적절한 방법을 선택하면 많은 문제를 피할 수 있습니다.
위 내용은 객체에 javaScript의 키가 있는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP를 사용하여 개발할 때 "Tryingtogetproperty'ssolution of non-object"라는 오류 메시지가 나타나는 경우가 있습니다. 이 오류가 발생하는 이유는 일반적으로 프로그램이 존재하지 않거나 인스턴스화되지 않은 개체에 액세스하여 PHP 파서가 개체의 속성이나 메서드를 인식할 수 없기 때문입니다. 그렇다면 이 오류를 해결하는 방법은 무엇입니까? 아래에서는 몇 가지 가능한 솔루션을 소개하겠습니다. 1. 코드 확인 먼저 오류 코드를 변경해야 합니다.

예, JavaScript에서 객체 속성을 가로 지르는 여러 가지 방법이 있습니다. 1. for ... in loop을 사용하여 객체의 모든 열거 가능한 문자열 속성을 가로 지르지 만 HasownProperty ()와 상속 된 속성을 제외하는 것이 좋습니다. 2. Object.keys ()를 사용하여 oreach ()와 결합하여 배열에서 키 이름을보다 편리하게 처리합니다. 3. 개체를 사용하여 쉽게 해체 및 작동을 위해 키 값 쌍 어레이를 직접 얻습니다. 또한 루프에 로직을 추가하여 속성 필터링 및 기타 기능을 구현할 수 있습니다.

JavaScript에서는 IN 연산자, HasOwnProperty 메소드 또는 Object.Keys ()를 사용하여 포함 ()를 일치시킬 수 있습니다. 1. IN 연산자를 사용하여 객체 자체의 키를 확인하고 프로토 타입 체인을 확인하십시오. 이는 키 소스가 불확실한 상황에 적합합니다. 2. hasownProperty () 메소드 (또는 더 안전한 개체 .prototype.hasownProperty.call (OBJ, Key))을 사용하여 프로토 타입 체인의 간섭을 피하기 위해 물체 자체의 속성 만 확인하십시오. 3. 객체 .keys (obj)를 사용하여 배열 메소드의 도움으로 판단하려면 (키).

사용에 대한 사용 ... inheritedones, andcombinewithhasownproperty () tofilteronlyownproperties.2.useobject.keys () togetanarrayofownemerablepropertynamesforfunctional-styeritation.3.useobject.values.values

usetheinoperatortockeckecforbothownandinheritedproperties.2.usehasownproperty () tocheckonlyownproperties, butteCaUtiousTiousOnty-nessobjects.3.avoidCheckingAgainStUndefinedSitisibleiusientibleiberientibleibleiberientiblediable whenipledible whenipledibleditibledibledibledibledipledibledipledibledibledibledibledibledibledipleatibledibledibledibledibledipertiped.4.preob

usetheinoperatortockeckforbothownandinheritedproperties; 2.useobject.hasown () tosafelycheckforownpropertieswithoutportyporty -interneverenverenverenverenverenverenverenverenverenverenverenderenverendents;

dotNotationIsusedForAccessingObjectPropertieswithValidIngifiers, socasperson.name, onveryReadabilitableandsimplicity.2.bracketnotationAllowsDynamicorspecial-CharacterPropertyAccess, fikeperson [ "key], fruvingflexibility

Object.hasown ()을 사용하여 객체에 고유 한 속성이 있는지 확인하십시오. HasownProperty를 덮어 쓸 때 오류를 피할 수있는 HasownProperty ()에 대한 현대 보안 대안입니다. 2. 운영자를 사용하여 상속 된 속성을 포함하여 속성이 존재하는지 확인하십시오. 3. 속성이 실제로 존재할 수 있지만 값은 정의되지 않기 때문에 부동산이 정의되지 않은 것을 비교하여 부동산이 존재하는지 판단하지 마십시오. 따라서 Modern JavaScript에서는 Object.hasown (obj, 'prop')을 사용하여 먼저 자체 속성을 확인하는 것이 좋습니다. 상속 특성을 포함 해야하는 경우 'prop'inobj를 사용하십시오.
