Skip to content

Latest commit

 

History

History
46 lines (30 loc) · 2.48 KB

File metadata and controls

46 lines (30 loc) · 2.48 KB

객체(Object)

자바스크립트는 원시값을 제외한 모든 것은 값의 메모리 주소를 참조하는 참조 타입의 객체로 이루어져 있습니다.

객체란?

  • 키와 값들을 그룹으로 묶은 데이터 모음입니다.
  • {key:value, key:value ...} 의 형태로 이루어져있으면 키와 값을 한 쌍으로 정의하여 속성(Properties)이라고 부릅니다.
  • 하나의 키에는 하나의 값을 매핑합니다.
  • 키 이름은 중복으로 불가합니다.(나중에 온 값으로 대치되어 저장)
  • 키 네이밍 규칙
    • 키는 데이터에 접근하기 위한 식별자로 빈 문자열을 포함한 모든 문자열 또는 심볼 사용 가능합니다.
    • 숫자로 시작할 수 없고 연산자 등도 사용할 수 없습니다.
  • 값은 모든 값을 사용 가능합니다.(함수도 가능)

메서드

  • 객체의 값으로 존재하는 함수를 일반 함수와 구분하기 위해 메서드라고 칭합니다.
  • 객체 안에 선언된 객체의 상태를 조작하고 관리하기 위해서 사용합니다.

객체 리터럴

  • 리터럴(literal)이란 단순하게 우리가 특정 데이터의 모양을 직접 구현해 만든 데이터를 뜻합니다.
  • 생성자 함수나 클래스 없이 직접 만들어내는 것을 객체 리터럴에 의해 객체를 생성했다고 표현합니다.

객체의 프로퍼티

프로퍼티에 접근

  • 점 표기법 object.name : 키 네이밍 규칙에 맞지 않을경우 에러가 납니다.
  • 괄호 표기법 object[name] : 문자열로 작성되기 때문에 네이밍 규칙에 권장되지 않는 문자열도 사용 가능하고 변수를 넣어 동적이게 활용이 가능합니다.

프로퍼티 값 갱신

  • 객체명.키 = 데이터 혹은 객체명['키'] = 데이터 를 할당해줄 수 있으며, 존재하지 않는 키값에 할당하면 새로운 프로퍼티가 추가됩니다.

프로퍼티 삭제

  • delete 객체명.키 , delete 객체명['키']로 삭제합니다.

ES6

  • 프로퍼티 축약 표현 : 변수가 미리 준비되어 있고 값을 할당할 때 키와 값이 같은 경우 축약해 한번에 정의할 수 있습니다.
  • 메서드 축약 : 키:함수()의 형태가 아닌, 함수(){} 로 키값 없이 메서드를 바로 등록해줄 수 있으며, 함수 식별자가 키값으로 사용됩니다.
  • 계산된 프로퍼티 이름: []안에 문자열 뿐만 아니라 변수, 계산식([key+i] 등)형태로 생성할 수 있습니다.