[ 05.26 ] 객체 { object }

[Achievement Goal]

1. 객체 기초

객체 의미
배열 / 객체의 구조를 파악하고 각각 어디서, 왜 쓰이는지 파악한다.
dot notation / bracket notation 차이 이해하기

2. 객체속성의 추가, 조회, 변경, 삭제

dot notation 을 이용한 객체 할당 방식 다뤄보기.
객체 속성 삭제 키워드 : delete
객체 전용 for 문 : for ... in

1. 객체 기초

객체란 ? 하나의 주머니 같은 개념.
let 변수명 = { 키(key) : '값'(value) }의 형태로 이루어진다.
변수명.키
여러개의 변수 하나로 묶은거.
배열접근할땐 인덱스로 접근한다.
배열은 순서가 있고 객체는 의미가 있다.

-> 해당 변수명의 속성을 가져오는 것이다.

Dot notation vs Bracket notation

<b> dot notation : obj.key // value; </b>
 ex) let person = { name : 'sook', age = '30s'}
 person.name; // 'sook'
 
<b> bracket notation : obj['key'] //value; </b>
 ex) let people = { person1 : 'sook', person2 : 'sally'}
 people['person1'] // 'sook'

특히 bracket notation 사용 시, [] 배열 안에는 문자열이 와야 하므로'' 따옴표를 skip 하면 오류를 발생시키니 꼭 사용하도록 한다 !
또는 [] 안에 따옴표가 없는 변수명이 들어올 수 있다!

그런데 왜? 굳이 ?

두가지 방법으로 나누었을까
브라켓 노테이션 : 키값이 동적인,(변할때) 변수가 왔을때. 매개변수로 들어가는것.
닷 노테이션은 동적인 키값 못나옴.

ex)

let person = {
  name : 'sook',
  age : '30s',
  city : 'seoul'
}

dot notation 을 썼을 때,

function whoAreYou(obj,key){
  return obj.name
}
whoAreYou(person,'name') // 'sook'
whoAreYou(person,'age') // 'sook'
whoAreYou(person,'city') //'sook'

=> dot notation 방식의 경우 name 의 값은 무조건 'sook' 만 나오게 된다.

bracket notation 을 썼을 때,

function whoAreYou(obj,key){
  return obj[key]
}
whoAreYou(person,'name') //'sook'
whoAreYou(person,'age') //'30s'
whoAreYou(person,'city') //'seoul'

2. 객체속성의 추가, 조회, 변경, 삭제

객체에는 값을 추가할 수 있다.
객체, 배열 무엇이든 들어갈 수 있다.
추가가 가능하다는 뜻은 삭제도 가능하다는 뜻이다.
delete person.age ; // age 키:밸류값 없어진다.

in 연산자 이용해 해당하는 키 확인하기 => bullean 값 리턴.
'name' in person // true
'age' in person // false (방금 delete person.age 했기때문.)

for ... in 반복문

객체에서 사용하는 for in 문
(let 사용자정의변수 in obj) : obj 에 있는 사용자정의변수로 생각하고 모두 훑어보겠다 라는 뜻.
객체안의 모든 키값들이 리턴된다.
밸류를 가져오려면 obj[사용자지정변수]

for ... of 반복문

순서가 있는 배열에서 쓴다.(.length 같은..)
let 사용자정의변수 of array[배열]{

}

좋은 웹페이지 즐겨찾기