자바스크립트의 모든 것이 다 객체다!
여러가지 값을 한번에 저장하고 싶을 때, 객체
를 사용한다. 값이름인 'key'와 값인 'value'로 구성되고,key, value
한 쌍을 property(속성)라고 부른다. property name, property value라는 용어로도 불린다. 'key'는 문자열을 가지고 있으나, ''를 생략해도 암묵적으로 형변환이 이루어진다.
첫번째 글자는 반드시 문자, _, $ 중 하나로 시작해야한다.
띄어쓰기와 하이픈(-)은 사용할 수 없다. - 사용하고 싶은 경우에는 'born year' 예시와 같이 ''로 묶어서 사용할 수 있다.
let myDog = {
//key: value
name: '몽',
'born Year': 2008,
sex: 'male',
weekPoint: null,
}
//객체 프로퍼티에 접근하는 법
//1.점 표기법(objectName.propertyName)
console.log(myDog.name);
//2.대괄호 표기법(objectName['propertyName']);
console.log(mydog['born year']);
조몽
2008
새로운 속성을 추가하기 위해서는, 간단하게 값이름과 새로운 값을 할당해주면 된다.
ex) myDog.weight = '5.8kg';
기존의 속성을 삭제하기 위해서는,
delete (objectName.propertyName);
객체 안에 속성의 유무를 확인하기 위해서는,
('propertyName' in objectName);
객체 안에 입력한 속성이 있는지 확인 후, boolean 형태로 값을 리턴해준다.
for in문을 활용하면 객체 내부에 있는 모든 프로퍼티들을 하나씩 불러낼 수 있다.
let myDog = {
//key: value
name: '몽',
'born Year': 2008,
sex: 'male',
weekPoint: null,
}
for (let key in myDog) {
console.log(myDog[key]);
}
몽
2008
male
null
*정수형 프로퍼티 네임
객체는 정수형 프로퍼티 네임을 오름차순으로 먼저 정렬하고, 나머지 프로퍼티들은 추가한 순서대로 정렬하는 특징이 있다.
let number = {
3: '나는3',
name: '이름이다',
1: '나는1'
2: '나는2'
}
for(let key in number) {
console.log(key);
}
1
2
3
name