JS Day 4 객체
17 Dec 2020 | JavascriptJS Day 4 객체
-
객체
- {} 중괄호를 이용해 만드는 객체 안에는 ‘key : value’ 로 구성된 property를 넣을 수 있으며 key에는 문자형, value는 모든 자료형이 허용됨
- delete 객체명.key; 로 property를 삭제 할 수 있음
/* * ,로 이어준다 * key 값에 복수의 단어가 올 경우 ""로 묶어준다 */ const human = { name : "foo", age : 38, "thunder birds" : true } /* * const로 선언한 객체도 값을 바꿀 수 있다 * 띄어쓰기가 있는 복수 단어는 대괄호로 표기한다 */ human.age = 19; human["thunder birds"] = false; /* * 대괄호를 사용하면 유연한 코드 작성이 가능하다 * user.key로 하면 undefined를 출력한다 */ let key = "name"; alert( user[key] ); //foo 출력
-
계산된 프로퍼티
- key값을 대괄호로 감싸서 계산된 프로퍼티를 표현 할 수 있음
const animal = prompt("어떤 동물이 있나요?", "rabbit"); const zoo = { [animal] : 7 }; alert( `${zoo.rabbit}마리 있네요` ); // 7마리 있네요 출력
-
단축 프로퍼티
- 변수를 받아와 value로 설정 할 때, key 와 이름이 같으면 생략이 가능함
function makeUser(id, passwd) { return { id, // id : id 와 동일하다 passwd }; } const user = makeUser("limu3372", 3090); alert( `ID : ${user.id}, PASSWORD : ${user.passwd}` );
-
in 연산자
- 프로퍼티가 객체 안에 있는지 판별 할 때 in을 사용함
- “key” in object; 와 같이 사용하며 true, false 값을 반환
-
향상된 for문
- for문에서 ( ; ; )표기법 대신 (key in object)로 object안의 key값 동안 for문을 돌릴 수 있음
- key 자리엔 다른 변수명 사용해도 되고 let i 등으로 선언한다
let zoo = { rabbit : 7, giraffe : 4, fox : 3 }; for (let key in zoo) { console.log( key ); //key 출력 console.log( zoo[key] ); //value 출력 } //zoo 객체 안의 모든 프로퍼티가 출력된다