Javascipt – Object(객체)

객체(object)

javascript 에서는 데이터를 object 를 이용해서 다룬다. ,배열(Array) Article 에서 전반적으로 다뤘지만, 좀 더 알아보자 Object literal 과 Object Constructor

 Object 는 Key : value 로 구성된 집합 이다 ( as Dictionary)

[ Object literal  방식 ]
 const 객체명 = {

               key : value ,
               key : value ,
               key : value ,
                      .
                      .
 }  


  const myInfo = {            // name , tel 속성을가지는 myInfo 개체 생성

       name : “test” ,
       tel : “010”
  }
myInfo[‘addr’] = ‘Korea’ // addr 프로퍼티 추가
console.log(myInfo);      /
/  출력 { “name”: “test”, “tel”,”010″, “addr”: “korea”}

delete myInfo.tel;           //  tel 프로퍼티 삭제
console.log(myInfo)       //  출력 {  “name”: “test”, “addr”: “korea” }

[ Object Constructor 방식 ]
class myInfo {

          constructor(name, tel)
          {
                  this.name = name;
                  this.tel = tel;
          }  
 }

const itsMe = new myInfo(“test”,”010″);
console.log(itsMe);             //  출력 {  “name”: “test”, “addr”: “korea” }

itsMe[“addr”] = “in Korea”// addr 속성 추가
console.log(itsMe);             //  출력 {  “name”: “test”, “tel”,”010″, “addr”: “korea” }

delete itsMe[“name”]          // name 속성 삭제
console.log(itsMe)              // 출력 {“tel”,”010″, “addr”: “korea” }
동적으로 Object 작성하기 – Property value short- hand 

 

const user1 = {   name : “test” ,     tel : “010-111-222”   }
const user2 = {   name : “test” ,     tel : “010-111-222”   }
const user3 =  …. 같은 Key :value 타입으로 생성할때,

function MakeObjForUser( name, tel)
{
     return { ‘name’ : name , ‘tel’ : tel };

      // key 명과 value 변수가 이름이 같다면, property value short- hand  기능 
     return { name , tel }  // { ‘name’ : name , ‘tel’ : tel } = 같다 
}

var user1 = makeObjForUser(“test1” , “010”)
var user2 = makeObjForUser(“test2” , “010”)

 

console.log(user1)
console.log(user2)
Object 안에 key  존재하는지 조회하기

 

Object 에 Key 가 있는지 조회하기   “key” in Object


const myInfo = {

   name : “test” ,
   tel :”010″

}

console.log( “name” in myInfo) // true : myInfo 안에 “name” key 가 있음
console.log( “addr” in myInfo//  false  myInfo 안에 “name” key 가 없음

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다