[CS, Javascript] 객체

insung·2024년 7월 2일

프로그램이란

  • 프로그램은 현실 세계의 것들을 효율적이고 효과적으로 해결하기 위해 현실세계를 코드화 한 것
  • 세상은 관점 기준인 주체와 상대 혹은 대상으로서 객체 그리고 주체와 객체 간의 관계로 구성
    • 만약 주체를 객체로 본다면 세상은 객체와 객체간의 관계로 볼 수 있음
    • 객체는 사람, 동물, 식물 뿐 아니라 세상의 모든 사물과 개념, 상상까지도 포함될 수 있음

객체의 구성

  • 자동차를 예로 들면
    • 자동차는 차종, 색상, 브랜드
    • 타다, 멈추다, 문을열다 등의 기능으로 구성할 수 있음
      • 차종, 색상, 브랜드 등 객체의 정적인 특성을 속성이라 하며
      • 타다, 멈추다 등의 동적인 기능들을 메서드로 표현함

객체의 상태값 가져오기

  • 속성
    • 객체의 속성을 가져오기 위해선 대괄호 표기법과 속성 접근자로 가져올 수 있음
      • Grandeur[’color’] or Grandeur.color
    • 객체의 메서드를 사용하기 위해선 키에 괄호를 붙여 사용
      • Grandeur.startEngine()
    • 객체가 연관배열인 이유기도 하는 이유임
💡 map
  • key-value 쌍으로 구성된 일반적인 형태로 map도 있음
  • 배열과 map의 차이는 키가 가질 수 있는 데이터 타입에 따라 구분할 수 있음
    • 배열의 키 : 숫자 인덱스
    • 연관배열의 키 : 문자 인덱스
    • map의 키 : 어떤 데이터 타입도 가질 수 있음
javascript에서 map 사용하기

let map = new Map();

// 값 추가
map.set('key1', 'value1');
map.set('key2', 'value2');

// 값 가져오기
let value1 = map.get('key1'); // 'value1'
let value2 = map.get('key2'); // 'value2'

// 키가 존재하는지 확인
let hasKey1 = map.has('key1'); // true
let hasKey3 = map.has('key3'); // false

// 값 삭제하기
map.delete('key1'); // true
map.delete('key3'); // false (key3는 존재하지 않음)

// map의 크기
let size = map.size; // 1 (key2만 남아있음)

// map 비우기
map.clear();

// map 순회
// 1. for...of 루프 사용
for (let [key, value] of map) {
    console.log(key, value);
}

// 2. forEach 메서드 사용
map.forEach((value, key) => {
    console.log(key, value);
});
profile
안녕하세요 프론트엔드 관련 포스팅을 주로 하고 있습니다

0개의 댓글