// 변수에 할당할 경우
let colorNameOfRainbow = 'Red';
let hexCodeOfColor = '#ff0000';
let colorNameOfRainbow2 = 'Orange';
let hexCodeOfColor2 = '#ff6600';
// 배열에 할당할 경우
let colorOfRainbow = ['Red', '#ff0000'];
// 객체에 할당할 경우
let colorOfRainbow = {
// key: value
colorName: 'Red', // ,(comma)로 구분한다.
hexCode: '#ff0000'
};
객체의 값을 조회하는 방법은 두 가지가 있다.
let colorOfRainbow = {
colorName: 'Red',
hexCode: '#ff0000'
}
// Object.키 이름
colorOfRainbow.colorName; // 'Red'
colorOfRainbow.hexCode; // '#ff0000'
let colorOfRainbow = {
colorName: 'Red',
hexCode: '#ff0000'
}
// Object['키 이름']
colorOfRainbow['colorName']; // 'Red'
colorOfRainbow['hexCode']; // '#ff0000'
// 변수 colorName을 선언한 적이 없으므로 에러 발생
colorOfRainbow[colorName]; // Uncaught ReferenceError: colorName is not defined
notation 방식에 따라 그 값과 의미가 다르다.
colorOfRainbow['colorName'] === colorOfRainbow.colorName // true
colorOfRainbow['colorName'] === colorOfRainbow[colorName] // false
colorOfRainbow.colorName === colorOfRainbow[colorName] // false
키 값이 동적으로 변할 때, 키 값이 변수일 때
다음과 같이 사용할 수 있다.
// 키 값이 동적으로 변할 때, 키 값이 변수일 때
colorOfRainbow[dynamicKey];
for in 반복문을 통해서 객체의 속성을 조회할 수 있다.
const obj = {a: 'b', c: 'd'};
for (let key in obj) {
console.log(key); // a, c
}
for (let key in obj) {
console.log(obj[key]); // b, d
}
in 연산자는 명시된 속성이 객체에 존재하면 true를 리턴한다.
속성 in 객체명
const favorite = {fruit: 'strawberry', book: 'Demian'};
'fruit' in favorite // true
'food' in favorite // false