만약에 해리포터에 대한 자료와 정보를 넣고싶을 때, 어떻게 정리하면 좋을까?
1. 일일이 해당하는 정보들을 선언하고 할당한다.
2. 배열을 만들어서 줄줄이 설명한다.
1번은 너무 귀찮고 정보의 양도 많아지고 보기 힘들 것 같고, 2번의 경우에는 1번보다는 조금 정리가 되있겠지만, 정보를 부를때 각각의 index의 값을 알아야 하기때문에 활용도가 떨어진다.
정보나 자료를 정리할 때 좋은 방법은 객체 인것 같다. 객체는 키(key)와 값(value)이 쌍(property라고 부른다)으로 이루어져 있다.
let HarryPotter = {
birthday : "1980-07-31",
pureBlood : false,
job : 'Auror',
graduatedSchool : 'Hogwarts',
hogwartsHouse : 'Gryffindor'
};
HarryPotter['job']; // 'Auror'
HarryPotter['pureBlood']; // false
객체를 만들 때에는 중괄호 { }를 사용한다.이런 식으로 키 : 값이 쌍을 이루어서 키에 해당하는 값을 알맞게 넣으면 된다. 모든 자료형의 값이 들어가도 상관이 없다! 그리고 객체의 이름에 대괄호[ ]를 열고 키(꼭 따옴표로 감싸주긔!)을 입력하게 되면, 해당하는 키의 값을 내뱉는다.
꼭! 키-값 쌍은 쉼표(,)로 구분해주어야 한다.
다음 코드를 통해서 어떻게 활용할 수 있는지 기록해보자!
HarryPotter.halfBlood = true;
delete HarryPotter.pureBlood;
첫번째 코드는 해리포터라는 객체에 새로운 키-값 쌍을 추가해주었고, 두번째 코드는 해리포터 객체안에 있는 키-값쌍을 제거해 주었다.
'in'을 활용해서 프로퍼티의 존재여부를 확인할 수도 있다.
"job" in HarryPotter; // true
"age" in HarryPotter; // false
객체 안에 해당하는 키가 있다면 true, 없다면 false를 내뱉는다.
객체에서도 역시 반복문을 활용한다면, 단순히 여러번 찍어내거나, 일일이 코드를 짜지않아도 반복적인 일을 처리할 수 있다.
let object = {age : 25};
for (let key in object) {
if (object[key] >= 20) {
return true;
} else {
return false;
}
}
각각의 프로퍼티 키를 이용해서 안의 본문을 실행한다. 코드의 의미는 오브젝트안에 있는 키값을 다 도는데, 오브젝트의 밸류 값이 20 이상이면 true를 내뱉고, 아니면 false내뱉는 코드이다.
다음은 무엇을 기록해볼까?
'리코딩 : 자바스크립트(JavaScript)' 카테고리의 다른 글
자바스크립트 8. 매개변수(Parameters) (0) | 2020.10.14 |
---|---|
자바스크립트 6.1 배열, 객체의 반복문 (0) | 2020.10.14 |
자바스크립트 6. 반복문 탈출! (0) | 2020.10.07 |
자바스크립트 6. 반복문 (0) | 2020.10.06 |
자바스크립트 5. 배열 메소드 (0) | 2020.10.06 |