• 티스토리 홈
  • 프로필사진
    유니얼
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
유니얼
  • 프로필사진
    유니얼
    • 분류 전체보기 (295)
      • Unity (17)
        • 게임 개발 (5)
      • Unreal (24)
        • 게임 개발 (20)
      • DirectX (36)
      • 코딩테스트 (91)
        • 프로그래머스 (25)
        • 백준 (66)
      • Google Workspace (1)
      • Programing (102)
        • C# (68)
        • C++ (24)
        • JavaScript (10)
      • 게임 서버 프로그래밍 (17)
      • Web (6)
        • 슈퍼코딩 (6)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
    등록된 댓글이 없습니다.
  • 최근 공지
    등록된 공지가 없습니다.
# Home
# 공지사항
#
# 태그
# 검색결과
# 방명록
  • [JavaScript] JavaScript의 객체 리터럴, Optional Chaining, Map, Set
    2024년 12월 26일
    • 유니얼
    • 작성자
    • 2024.12.26.:27
    728x90

    JavaScript에서 데이터를 정의하고 다루기 위해 자주 사용하는 객체 리터럴(Object Literal), Optional Chaining, Map, 그리고 Set은 각기 다른 특징과 장점을 제공합니다. 이 글에서는 이러한 개념을 이해하기 쉽게 정리하고, 활용 방법을 소개합니다.


    1. 객체 리터럴(Object Literal)

    객체 리터럴의 기본 개념

    객체 리터럴은 JavaScript에서 객체를 생성하는 가장 기본적인 방식입니다. 키-값 쌍으로 데이터를 저장하며, 필요한 속성을 추가하거나 수정할 수 있습니다.

    const objectName = {
        key1: 'value1',
        key2: 'value2'
    };
    console.log(objectName.key1); // value1

    ES6의 개선된 객체 리터럴 문법

    축약 문법: 변수 이름과 키 이름이 동일하다면, 더 간단한 문법으로 정의할 수 있습니다.

    const a = 1, b = 'text';
    const obj = { a, b };
    console.log(obj); // { a: 1, b: 'text' }

    메서드 정의 간소화: function 키워드를 생략하여 메서드를 정의할 수 있습니다.

    const obj = {
        greet() {
            console.log('Hello!');
        }
    };
    obj.greet(); // Hello!

    계산된 프로퍼티 이름: 키를 동적으로 생성할 수 있습니다.

    const dynamicKey = 'key';
    const obj = { [dynamicKey]: 'value' };
    console.log(obj.key); // value

    2. Optional Chaining

    Optional Chaining은 깊이 있는 객체 구조에서 존재 여부를 확인하면서 안전하게 속성을 접근할 수 있게 해줍니다. 없는 속성을 참조하려고 하면 에러 대신 undefined를 반환합니다.

    기본 사용법

    const user = {
        profile: { name: 'Alice' }
    };
    
    console.log(user.profile?.name); // Alice
    console.log(user.settings?.theme); // undefined

    함수 호출과 함께 사용

    const obj = {
        greet() {
            return 'Hello!';
        }
    };
    
    console.log(obj.greet?.()); // Hello!
    console.log(obj.farewell?.()); // undefined

     


    3. Map

    Map은 키-값 쌍을 저장하는 데이터 구조로, 객체와 달리 모든 데이터 타입을 키로 사용할 수 있습니다.

    특징

    1. 키 타입의 유연성: 숫자, 문자열, 객체 등 어떤 값도 키로 사용할 수 있습니다.
    2. 순서 보장: 삽입된 순서를 유지합니다.

    사용 방법

    const map = new Map();
    map.set('key1', 'value1');
    map.set(123, 'value2');
    map.set({ objKey: true }, 'value3');
    
    console.log(map.get('key1')); // value1
    console.log(map.has(123)); // true
    map.delete(123);
    console.log(map.size); // 2

    반복문 사용

    Map은 for...of 루프를 사용하여 순회할 수 있습니다.

    for (const [key, value] of map) {
        console.log(key, value);
    }

     


    4. Set

    Set은 고유한 값만 저장하는 데이터 구조입니다. 중복된 값은 자동으로 제거됩니다.

    특징

    1. 중복 제거: 동일한 값은 한 번만 저장됩니다.
    2. 순서 보장: 삽입된 순서를 유지합니다.

    사용 방법

    const set = new Set();
    set.add('a');
    set.add('b');
    set.add('a'); // 중복 값은 무시
    console.log(set.has('a')); // true
    console.log(set.size); // 2

    반복문 사용

    Set은 for...of 루프를 통해 순회할 수 있습니다.

    for (const value of set) {
        console.log(value);
    }

     


    요약

    개념 설명 예제
    객체 리터럴 객체를 생성하는 간단한 방식. ES6부터 축약 문법과 동적 키 사용 가능. { key: value }, { [key]: value }
    Optional Chaining 존재하지 않는 속성을 안전하게 참조 가능. obj?.key, arr?.[index]
    Map 키-값 쌍을 저장하며, 모든 데이터 타입을 키로 사용 가능. map.set(key, value)
    Set 고유한 값만 저장하며, 중복이 자동 제거됨. set.add(value)

    결론

    JavaScript의 객체 리터럴, Optional Chaining, Map, Set은 데이터를 다루는 다양한 방법을 제공합니다.

    • 객체 리터럴은 간결하고 직관적인 데이터 표현을 가능하게 하고,
    • Optional Chaining은 안전한 데이터 접근을 보장하며,
    • Map과 Set은 더 정교한 데이터 구조를 제공합니다.

    이 기능들을 적절히 활용하면 코드의 안정성과 효율성이 크게 향상됩니다. JavaScript의 데이터 구조를 잘 이해하고 프로젝트에 적합하게 활용해 보세요!

    반응형
    다음글
    다음 글이 없습니다.
    이전글
    이전 글이 없습니다.
    댓글
조회된 결과가 없습니다.
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
목차
표시할 목차가 없습니다.
    • 안녕하세요
    • 감사해요
    • 잘있어요

    티스토리툴바