객체

이서림·2024년 7월 30일

JavaScript

목록 보기
12/28

객체란(Object)

  • 배열처럼 여러개의 데이터를 한 변수에 저장할 수 있는 자료형
  • 배열이 값에 접근하기 위해 자동으로 부여되는 인덱스 번호를 사용했다면, 객체는 특별한 키(key)를 통해 원하는 값(value)에 접근할 수 있도록 키와 값의 쌍으로 이루어져 있다는 점

객체 생성방법

  • 중괄호({})를 사용
  • 객체는 여러 개의 키(key)와 값(value) 쌍으로 이루어져 있으며, 각 key와 value는 콜론(:)으로 구분
  • 생성예시
    const user = {
      name: "licat",
      from: "jeju", 
      askingHim: function () {
        console.log("I love coding!");
      },
    };
    const user = {
      name: "licat",
      from: "jeju",
    	askingHim(){
    		console.log("I love coding!");
    	}
    };
    

객체 접근방법

  • 대괄호 ([]) 안에 키 값을 문자열 사용하거나, 객체의 키 값이 변수명 작성 규칙을 지켰다면 객체이름.키 로 값에 접근
    console.log(`${user['name']} from ${user['from']}`);
    console.log(`${user.name} from ${user.from}`);
    console.log(user.address); // undefined

객체 속성 추가/제거 방법

  • 추가방법
    user['company'] = 'weniv';
    user['co-worker'] = ['wade', 'binky'];
    user.job = "CEO";
  • 삭제방법
    delete user.job;
  • in 연산자를 이용해 특정 프로퍼티가 객체안에 존재하는지 확인.
    console.log('company' in user);
    console.log('age' in user);

객체의 메서드

  1. keys(), values(), entries()

    Object.keys() 메서드는 객체의 속성 이름(key),

    Object.values() 메서드는 객체의 속성 값(value),

    Object.entires()는 [key, value] 쌍 즉, 프로터피를 배열로 반환

    console.log(Object.keys(user));
    console.log(Object.values(user));
    console.log(Object.entries(user));
  2. hasOwnProperty()

    객체가 특정 프로퍼티를 가지고 있는지를 나타내는 불리언 값을 반환.

    const weniv = {
      members: ['라이캣', '웨이드', '개리'],
      location: '제주',
    	say: function(){
    		return "반갑습니다! 위니브입니다!"
    	},
    	cheering: function(){
    		return "아자아자 화이팅이다!"
    	}
    };
    

    console.log(weniv.hasOwnProperty('number')); // false
    console.log(weniv.hasOwnProperty('location')); // true

  3. for … in

    객체 안의 프로퍼티들에 접근하여 어떠한 키와 값을 가지는지 살펴보고 싶거나, 조건에 따라 값을 수정해야 할 경우 사용.

    const person = {
      name: '재현',
      age: 20,
      gender: 'male'
    };
    

    for (let key in person) {
    console.log(</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>key<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">: </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>person<span class="token punctuation">[</span>key<span class="token punctuation">]</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">);
    }
    //반드시 순서대로 반복되지 않음

profile
꾸준한 열정으로 나아가는 프론트엔드 개발자

0개의 댓글