[객체]

const 대상 = { // 키
 key1 : value1,
 key2 : value2,
}

* 마지막 쉼표는 없어도 되는데, 쉼표가 있는게 나중에 수정삭제할때 편함

[객체 key 추가]
- 점(.)을 사용 or
- 별괄호 사용(['key'])

[객체 key 삭제]
- delete 앞에

ex. 
const jinsik = {
 homekeeper : 'yes',
 age = 99,
}


[객체 접근]
jinsik.homekeeper // yes

[객체 Key 추가]
jinsik.sing = 'suck'
jinsik.['sing'] = 'suck'

[객체 삭제]
delete jinsik.sing;

---

[객체 프로퍼티 / 객체 단축 ]
사전 정의(const)된 항목에 대하여
객체 안에서 정의할 때 추가로 안하고 그 항목에 대해서는 참조하는 것

ex.
const name = 'clark';
const age = 33;

const superman = {
  name,
  age,
  gener : 'male',
}

superman.name

[프로퍼티 존재 여부 확인]
in 사용

ex. 'birthDay' in superman; // false 
    'age' in superman // true


--- ex ---
const jinsik = {
  name : 'jinsik',
  age : 30,
}

console.log(jinsik.name);
console.log(jinsik.['name'])

jinsik.sing = 'poor';
jinsik['job'] = 'homekeeper';

delete jinsik['sing']

console.log(jinsik)



function isAdult(user){
  if(!('age' in user) || // user에 age가 없거나
     user.age < 20){ // 20살 미만이거나
    return false;
  } else {
      return true;
    }
  }

const Mike = {
  name : "Mike",
  age : 30
}

const Jane = {
  name : "Jane",
}
  
  console.log(isAdult(Mike))
  console.log(isAdult(Jane))

// 객체 for ... in
for(key in Mike){  // key는 Object Mike가 갖고있는 Key 값
}
// 객체 for ... in

const Jinsik = {
  name: "Jinsik",
  age: 30,
};

for(key in Jinsik){
  console.log(key)
}

// [result]
// "name"
// "age"

for(key in Jinsik){
  console.log(Jinsik[key]) // Mike['name'] -> Mike['age']
}

// [result]
// "Jinsik"
// 30

for~ in 복습 필요

복사했습니다!