자바스크립트 기초 -6
매우 주관적인 포스트로서 사실과 다를수도 있습니다. 개인적인 정리 차원입니다.
오늘은 강의에서 배운 객체에 대하여 정리해 보자
일상생활에서 회사들은 고객에 대한 정보들을 관리하고 있다. 그리고 그 정보들은 따로따로 관리되지 않고 공통점으로 묶여 함께 관리되고 있다. 이런 정리방식은 프로그래밍 언어에서도 구현이 가능하다. C나 C++에서는 구조체, 클래스 등으로도 가능하지만, 자바스크립트는 비슷하게 객체로 구현가능하다. 객체는 배열과 생김새는 비슷하다. 중괄호 {} 를 대괄호 [] 대신 사용하며, : 기호도 사용한다.
예시를 보자 let person = { name : ‘홍길동’, age : 15….}; 대신, 배열과는 다르게 값 중간중간에 : 기호가 들어가 있다. 일종의 특성의 이름과 그 상세값을 분류하는것 이라 이해하면 된다. 상세값은 숫자, 문자일수도 있으며, 또한 배열도 사용가능하다고 한다. 또한 배열을 선언하고 그안에 객체들을 집어 넣을수도 있다. let addressBook =[사람1(객체), 사람2(객체),…..] 이 가능하다는 말이다. 접근 방식은
- 대괄호를 이용하는 방법. 배열에 접근하듯이 사용하면 된다. person[‘키값 이름’] 이렇게 사용하자. 만약 콘솔에 홍길동 이라는 이름을 출력하고 싶다면 console.log(person[‘name’]); 이렇게 작성하면 된다. 주의할점은 반드시 ‘‘을 넣어야 키값이라고 인식을 한다. 만약 ‘‘이 없다면, 변수를 대입한줄 알고 변수에 저장된 값을 불러온다. 따라서 console.log(person[‘name’]); -> console.log(‘홍길동’); 콘솔에 홍길동 출력 console.log(person[name]); -> name이라는 변수를 대입한다. 만약 name이라는 변수의 값이 1이라면 person[1]을 입력한것과 같다. 변수를 대입할수 있는 이유는 임의 접근을 하기 위해서 인거 같다.
- .을 이용하는 방법. 위에서는 배열처럼 접근했다. 이번에는 메소드를 이용하듯 .을 이용한다. 그러므로 person.name 이렇게 사용하면 된다. 배우고 보니 파이선의 딕셔너리와 유사한것 같다. 배열과 마찬가지로, 새로운 값을 추가하는것은 쉽다. 새로운 특성에 접근해서 값을 할당하기만 하면 된다. 없에는 것도 간단히 delete를 이용하여 간단히 delete person[‘키 이름’] 하면 된다. 객체에서 모든 키값에 대하여 접근을 하고싶은 경우가 있다. 간단히 for… of구문을 이용하면 된다. for(const … of …) 이러면 알아서 모든 벨류에 접근을 하게 된다.
다만 접근하려는 객체가 iterable 해야 한다
이외 for in 구문 이 존재하는데, for of 구문과 비슷하지만 for in 구문은 객체의 밸류 대신 키를 사용한다.
let arr={a:1,b:2,c:3}
for (const n in/of arr){
console.log(n)
}
위 코드에서 in 혹은 of를 사용한다면 출력되는것은
in을 사용한 경우라면 a, b, c가 출력되고 of를 사용한 경우라면 1, 2, 3이 출력된다는것이다.
댓글남기기