자바스크립트 기초 -6

1 분 소요

매우 주관적인 포스트로서 사실과 다를수도 있습니다. 개인적인 정리 차원입니다.

​오늘은 강의에서 배운 객체에 대하여 정리해 보자 ​

일상생활에서 회사들은 고객에 대한 정보들을 관리하고 있다. 그리고 그 정보들은 따로따로 관리되지 않고 공통점으로 묶여 함께 관리되고 있다. 이런 정리방식은 프로그래밍 언어에서도 구현이 가능하다. ​ C나 C++에서는 구조체, 클래스 등으로도 가능하지만, 자바스크립트는 비슷하게 객체로 구현가능하다. ​ 객체는 배열과 생김새는 비슷하다. 중괄호 {} 를 대괄호 [] 대신 사용하며, : 기호도 사용한다.

예시를 보자 ​ let person = { name : ‘홍길동’, age : 15….}; 대신, 배열과는 다르게 값 중간중간에 : 기호가 들어가 있다. 일종의 특성의 이름과 그 상세값을 분류하는것 이라 이해하면 된다. 상세값은 숫자, 문자일수도 있으며, 또한 배열도 사용가능하다고 한다. ​ 또한 배열을 선언하고 그안에 객체들을 집어 넣을수도 있다. let addressBook =[사람1(객체), 사람2(객체),…..] 이 가능하다는 말이다. ​ 접근 방식은

  1. 대괄호를 이용하는 방법. 배열에 접근하듯이 사용하면 된다. person[‘키값 이름’] 이렇게 사용하자. ​ 만약 콘솔에 홍길동 이라는 이름을 출력하고 싶다면 console.log(person[‘name’]); 이렇게 작성하면 된다. 주의할점은 반드시 ‘‘을 넣어야 키값이라고 인식을 한다. 만약 ‘‘이 없다면, 변수를 대입한줄 알고 변수에 저장된 값을 불러온다. ​ 따라서 console.log(person[‘name’]); -> console.log(‘홍길동’); 콘솔에 홍길동 출력 console.log(person[name]); -> name이라는 변수를 대입한다. 만약 name이라는 변수의 값이 1이라면 person[1]을 입력한것과 같다. ​ 변수를 대입할수 있는 이유는 임의 접근을 하기 위해서 인거 같다. ​
  2. .을 이용하는 방법. 위에서는 배열처럼 접근했다. 이번에는 메소드를 이용하듯 .을 이용한다. 그러므로 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이 출력된다는것이다.

댓글남기기