본문 바로가기

Javascript

자바스크립트 기초 강좌 12- 객체(Object)

const woman = {

    name : 'kangmi',                name, age - 키(key)   /   kangmi, 27 - 값(value)

    age : 27                              → property : 각 property는 쉼표(,)로 구분. 

}                                                                    (마지막property에는 없어도 되지만 있는게 수정할 때 좋음.)

 

 

●Object- 접근, 추가, 삭제

<접근>  

woman.name    //'kangmi'

woman['age']    //27

<추가>

woman.gender = 'female';

woman['hairColor'] = 'black';

<삭제>

delete woman.hairColor;

 

●Object- 단축 프로퍼티 

const name = 'kangmi';

const age = 27;

        ↓

const woman = {

    name,       //name : name

    age,         //age : age

    gender : 'female',

}

●Object- 프로퍼티 존재 여부 확인 

 const woman = {

    name : 'kangmi',

    age : 27,

}

woman.birthDay;                   //undefined → 프로퍼티가 존재하지 않을 때 나타남

'birhDay' in woman;             //false  'in'을 사용해서 프로퍼티 존재여부를 불린으로 알 수 있음

'age' in woman;                   //true   

.이나 []를 쓰지 않고 언제 in을 쓸까?  어떤 값이 나올지 확신할 수 없을 때. 함수 인자를 받거나 api통신을 통해 데이터를 받을 때 사용

 

●For...in 반복문

for(let key in woman){

    console.log(key)

    console.log(woman[key])

}

 

----------------------------------------------------------------------------------------------------------------------------

//객체
const superman = {
  name : 'clark',
  age : 30,
}

console.log(superman.name)   //"clark" 
console.log(superman['age'])    //30
console.log(superman)   
//[object Object]
//{
//  "name": "clark",
//  "age": 30
//}
superman.hairColor = 'black';   //추가
superman['hobby'] = 'football';    //추가
delete superman.age;      //삭제
console.log(superman)
//객체 반환
function makeObject(name, age){
  return{
    name : name,
    age : age,
    hobby : 'football'
  }
}

const Mike = makeObject('Mike',30);
console.log(Mike);

//property 존재 여부 확인
console.log("age" in Mike);       //true
console.log("birthday" in Mike);       //false
console.log(Mike.birthday);       //undefined
//객체 in 

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

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

const Jane = {
  name : "Jane"
}

console.log(isAdult(Mike))     //true
console.log(isAdult(Jane))     //false
//객체 for...in
const Mike = {
  name: "Mike",
  age: 30,
};

for(x in Mike){
  console.log(Mike[x])  
}

 

 

 

반응형