Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags
more
Archives
Today
Total
관리 메뉴

늘보블로그

객체리터럴 1 본문

스터디로그/javascript

객체리터럴 1

개발자늘보 2020. 12. 18. 23:47

자바스크립트의 데이터 타입


객체

  • 다양한 타입의 값(원시 값 or 타 객체)을 하나의 단위로 구성한 복합적 자료구조.
  • 원시 값과 달리 변경 가능한 값mutable value
  • 0개 이상의 프로퍼티로 구성
    • 프로퍼티: 키와 값으로 구성. 객체의 상태를 나타내는 값
    • 자바스크립트의 모든 값은 프로퍼티 값이 될 수 있음
    • 프로퍼티 값이 함수일 경우 일반 함수와 구별하기 위해 메서드라고 부름
    • 메서드: 프로퍼티(상태 데이터)를 참조하고 조작할 수 있는 동작
  • 프로퍼티와 메서드로 구성된 집합체
  • 객체지향 프로그래밍: 객체의 집합으로 프로그램을 표현하려는 프로그래밍 방법

객체 리터럴을 사용한 객체 생성

  • 클래스 기반 객체지향 언어는 클래스를 사전에 정의하고 필요한 시점에 new 연산자와 함께 생성자를 호출해 인스턴스를 생성하는 방식으로 객체 생성
    • 인스턴스: 클래스에 의해 생성되어 메모리에 저장된 실체
    • 클래스: 인스턴스를 생성하기 위한 템플릿 역할
  • 자바스크립트: 프로토타입 기반 객체지향으로 다양한 객체 생성 방법을 지원(ex: 객체 리터럴, Object 생성자 함수, 생성자 함수, Object.create 메서드, 클래스(ES6부터 지원))

객체 리터럴

  • 중괄호({})를 사용한 객체 표기법. 변수에 할당되는 시점에 자바스크립트 엔진은 객체 리터럴을 해석해 객체를 생성함
  • 객체 리터럴은 값으로 표현되는 표현식 -> 중괄호가 코드블록을 의미하지 않으므로 세미콜론을 붙여야 함
  • 객체 생성을 위해 클래스 정의와 생성자 호출이 필요하지 않으므로 편리함
  • 객체 리터럴 외의 객체 생성 방법은 전부 함수 호출

프로퍼티

  • 프로퍼티 키: 프로퍼티 값에 접근하기 위한 이름(식별자 역할). 빈 문자열을 포함하는 모든 문자열 또는 심벌 값을 사용할 수 있지만 일반적으로 문자열 사용함
  • 프로퍼티 값: 자바스크립트의 모든 값
  • 프로퍼티 키 생성
    • 키는 문자열이므로 따옴표 사용해야 함. 식별자 네이밍 규칙에 맞으면 생략 가능
    • 대괄호를 사용해 키 동적 생성 가능
    • 키에 문자열이나 심벌 값 외의 값 사용 시 암묵적 타입 변환을 통해 문자열이 됨
    • 빈 문자열, 예약어도 사용 가능하지만 권장하지 않음
    • 키 중복 선언 시 나중 값이 덮어 씀

메서드

  • 함수는 값으로 취급할 수 있으므로 프로퍼티 값으로도 사용 가능함
  • 메서드는 객체에 묶여 있는 함수라는 점에서 일반 함수와 다름

'스터디로그 > javascript' 카테고리의 다른 글

원시 값과 객체  (0) 2021.01.02
객체리터럴 2  (0) 2020.12.21
타입 변환 2  (0) 2020.12.17
타입 변환 1  (0) 2020.12.16
제어문  (0) 2020.12.15