계산된 속성 이름(Computed Property Name)
- 계산된 속성 이름: 객체 리터럴에서 속성 이름을 동적으로 할당할 수 있게 한다. 즉, 속성 이름을 고정된 문자열이 아니라, 변수나 표현식의 값을 사용하여 동적으로 결정될 수 있도록 한다.
- 계산된 속성 이름을 사용할 때는 대괄호('[]')를 사용하며, 대괄호 안의 표현식은 항상 문자열로 변환된다.
const ID = 'task_1';
const newTask = 'Learn React Native';
const newTaskObject = {
[ID]: { id: ID, text: newTask, completed: false },
};
console.log(newTaskObject);
// {
// task_1: { id: 'task_1', text: 'Learn React Native', completed: false }
// }
https://jake-seo-dev.tistory.com/369
속성 정의 및 접근 방법
객체에서 속성을 정의하고, 또 그 속성에 접근하는 방법은 크게 두 가지로 나눌 수 있다.
- 점 표기법 ex. obj.validName - 유효한 키일 경우
- 대괄호 표기법 ex. obj['invalid name'] - 모두 적용
const obj = {
name: 'John', // 유효한 식별자
age: 30, // 유효한 식별자
$salary: 5000, // 유효한 식별자
_private: 'secret' // 유효한 식별자
};
console.log(obj.name); // 'John'
console.log(obj.age); // 30
console.log(obj.$salary); // 5000
console.log(obj._private); // 'secret'
console.log(obj['name']); // 'John'
console.log(obj['age']); // 30
console.log(obj['$salary']); // 5000
console.log(obj['_private']); // 'secret'
유효한 키일 지라도 대괄호 표기법을 사용하려면 따옴표로 묶어주어야 한다.
const object = {
'first name': 'John', // 문자열 속성 이름
'last-name': 'Doe', // 문자열 속성 이름
'123number': 456, // 문자열 속성 이름
};
console.log(object['first name']); // 'John'
console.log(object['last-name']); // 'Doe'
console.log(object['123number']); // 456
그리고 계산된 속성 이름 적용 방법!
const name = 'hailey';
const person = {
[name]: 'hailey'
};
console.log(person.hailey); // hailey
console.log(person[name]); // hailey
'FrontEnd > React Native' 카테고리의 다른 글
[RN] CSS, Hooks, import/require, Object 메서드 (1) | 2024.05.26 |
---|---|
[RN] VSCode prettier 적용, 오류 해결 (0) | 2024.05.23 |
[RN] 연산자 종류 (==, !=, ===, !==) (0) | 2024.05.22 |
[RN] Props 중괄호 사용 (feat. 구조 분해 할당) (0) | 2024.05.22 |
[RN] Button 표현 방법, state, event 정리 _ 처음 배우는 리액트 네이티브 (24.05.13) (0) | 2024.05.14 |