JavaScript 개체에서 점과 대괄호 표기법의 차이점
3314 단어 objectjavascript
Object의 데이터는 배열처럼 순서대로 저장되지 않기 때문에 배열에서 사용하던 인덱스로 쉽게 접근할 수 없습니다. 기본적으로 Object의 데이터에 액세스하는 두 가지 방법이 있습니다. 그들은로 알려진
두 가지 방법 모두 장단점이 있으며 특정 사용 사례가 있습니다. 그래서 그것들을 탐구합시다.
점 표기법으로 액세스
점 표기법부터 시작하겠습니다. 이름으로 우리는 그것이 사용법에 (.)점이 있다는 것을 이해할 수 있습니다. 아래 사람 개체를 참조하십시오.
const person = {
name: 'Alice',
age: 20
};
이 개체에서 이름 속성을 초과하려면 키-값 쌍(_name _and age)이 있어야 합니다. 간단하게 개체 이름(여기서는 사람)과 속성 자체 뒤에 (.)점을 사용해야 할 수 있습니다.
const person = {
name: 'Alice',
age: 20
};
console.log(person.name) // Alice
개체 내부에 개체가 있는 경우 속성 이름 앞에 유사한 (.)점을 추가하여 쉽게 연결할 수 있습니다. 아래 예를 참조하십시오
const person = {
name: {
firstName : 'Alice',
middleName: 'Jay',
lastName: 'Luke'
},
age: 20
};
console.log(person.name.middleName) // Jay
쉽고 간단하며 깨끗합니다. 오른쪽? 코드를 깔끔하게 유지하고 가독성도 향상시킵니다. 그래서 점 표기법이 가장 좋아하고 모두에게 사랑받는 이유입니다.
대괄호 표기법으로 액세스
이제 브래킷 표기법을 통해 동일한 작업을 수행하는 방법을 살펴보겠습니다.
const person = {
name: {
firstName : 'Alice',
middleName: 'Jay',
lastName: 'Luke'
},
age: 20
};
console.log(person['age']) // 20
console.log(person['name']['middleName']) \\ Jay
대괄호 표기법에서 개체의 데이터에 액세스하려면 작은따옴표로 키를 감싸고 개체 이름 뒤의 대괄호 안에 공백이나 아무것도 없이 넣어야 합니다.
점 표기법보다 브래킷 표기법을 사용하는 경우.
따라서 두 가지 방법으로 개체의 속성에 액세스할 수 있음을 알 수 있습니다. 나를 포함한 대부분의 사람들은 사용하기 쉽고 코드를 깔끔하게 유지하며 다른 사람이 코드를 읽을 때 쉽게 이해할 수 있기 때문에 첫 번째 것을 선호합니다. 그러나 보다 구체적인 사용 사례가 있으므로 대괄호 표기법을 무시할 수는 없습니다. 아래에 표시된 예와 같습니다.
const obj = {
name: "John",
roll: 3,
}
const rollDynamic = 'roll'
console.log(obj.rollDynamic); \\undefined
경우에 따라 개체의 속성에 동적으로 액세스해야 할 수도 있습니다. 즉, 명시적으로 호출하는 것입니다. 위의 예에서 우리는 _rollDynamic _Variable에 _roll _property를 유지하고 점 표기법을 사용하여 액세스하려고 시도했지만 정의되지 않았습니다.
여기 브라켓 표기법이 우월합니다. 하지만 어떻게? Bracket Notation으로 같은 코드를 보자.
const obj = {
name: "John",
roll: 3,
}
const rollDynamic = 'roll'
console.log(obj[rollDynamic]); // 3
브라켓 표기법으로 _roll _key의 값을 쉽게 얻었습니다.
점 표기법의 또 다른 제한 사항은 유효한 식별자만 처리할 수 있다는 것입니다. 식별자가 잘못된 키 이름은 점 표기법으로는 액세스할 수 없지만 대괄호 표기법으로는 액세스할 수 있습니다. 아래 예를 사용하여 기사를 마무리하겠습니다.
const employee = {
'' : 'emptyString',
123 : 123,
123.321 : 123.321,
'name-first': 'John',
}
console.log(employee['']) //emptyString
console.log(employee[123]) //123
console.log(employee[123.321]) //123.321
console.log(employee['name-first']) //John
이러한 모든 키는 점 표기법으로 액세스할 수 없습니다. 그렇게 하려고 하면 SyntaxError가 발생합니다.
Reference
이 문제에 관하여(JavaScript 개체에서 점과 대괄호 표기법의 차이점), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kowcher99/difference-between-dot-bracket-notation-in-javascript-object-4p81텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)