본문 바로가기

개발/Javascript

오브젝트(Objects)

  • 오브젝트(Objects)

  • Use the literal syntax for object creation.

  • 오브젝트를 작성할때는, 리터럴 구문을 사용하십시오.

    // bad
    const item = new Object();
    
    // good
    const item = {};
  • If your code will be executed in browsers in script context, don't use reserved words as keys. It won't work in IE8. More info. It’s OK to use them in ES6 modules and server-side code.

  • 코드가 브라우저상의 스크립트로 실행될때 예약어를 키로 이용하지 마십시오. IE8에서 작동하지 않습니다. More info하지만 ES6 모듈안이나 서버사이드에서는 이용가능합니다.

    // bad
    const superman = {
      default: { clark: 'kent' },
      private: true,
    };
    
    // good
    const superman = {
      defaults: { clark: 'kent' },
      hidden: true,
    };
  • Use readable synonyms in place of reserved words.

  • 예약어 대신 알기쉬운 동의어를 사용해 주십시오.

    // bad
    const superman = {
      class: 'alien',
    };
    
    // bad
    const superman = {
      klass: 'alien',
    };
    
    // good
    const superman = {
      type: 'alien',
    };

  • Use computed property names when creating objects with dynamic property names.

  • 동적 프로퍼티명을 갖는 오브젝트를 작성할때, 계산된 프로퍼티명(computed property names)을 이용해 주십시오.

    Why? They allow you to define all the properties of an object in one place.

    왜? 오브젝트의 모든 프로퍼티를 한 장소에서 정의 할 수 있습니다.

    function getKey(k) {
      return a `key named ${k}`;
    }
    
    // bad
    const obj = {
      id: 5,
      name: 'San Francisco',
    };
    obj[getKey('enabled')] = true;
    
    // good
    const obj = {
      id: 5,
      name: 'San Francisco',
      [getKey('enabled')]: true
    };

  • Use object method shorthand.

  • 메소드의 단축구문을 이용해 주십시오.

    // bad
    const atom = {
      value: 1,
    
      addValue: function (value) {
        return atom.value + value;
      },
    };
    
    // good
    const atom = {
      value: 1,
    
      addValue(value) {
        return atom.value + value;
      },
    };

  • Use property value shorthand.

  • 프로퍼티의 단축구문을 이용해 주십시오.

    Why? It is shorter to write and descriptive.

    왜? 기술과 설명이 간결해지기 때문입니다.

    const lukeSkywalker = 'Luke Skywalker';
    
    // bad
    const obj = {
      lukeSkywalker: lukeSkywalker,
    };
    
    // good
    const obj = {
      lukeSkywalker,
    };
  • Group your shorthand properties at the beginning of your object declaration.

  • 프로퍼티의 단축구문은 오브젝트 선언의 시작부분에 그룹화 해주십시오.

    Why? It's easier to tell which properties are using the shorthand.

    왜? 어떤 프로퍼티가 단축구문을 이용하고 있는지가 알기쉽기 때문입니다.

    const anakinSkywalker = 'Anakin Skywalker';
    const lukeSkywalker = 'Luke Skywalker';
    
    // bad
    const obj = {
      episodeOne: 1,
      twoJediWalkIntoACantina: 2,
      lukeSkywalker,
      episodeThree: 3,
      mayTheFourth: 4,
      anakinSkywalker,
    };
    
    // good
    const obj = {
      lukeSkywalker,
      anakinSkywalker,
      episodeOne: 1,
      twoJediWalkIntoACantina: 2,
      episodeThree: 3,
      mayTheFourth: 4,
    };


'개발 > Javascript' 카테고리의 다른 글

문자열(Strings)  (0) 2018.03.11
구조화대입(Destructuring)  (0) 2018.03.11
배열(Arrays)  (0) 2018.03.11
참조(References)  (0) 2018.03.11
JavaScript 스타일 가이드 - 형(Types)  (0) 2018.03.11