본문 바로가기
카테고리 없음

2019-05-07 객체리터럴

by sunnykim91 2019. 5. 7.

 

원시값은 immutable value , pass by value 이다.

객체타입은 muutable value(변경가능한 값), pass by reference 이다.

 

도대체 객체란 무엇인가

 

object의 반대개념은 subject(주체)이지만, 프로그래밍에는 주체란것이 없다.

 

속성 property는 자산이란 뉘앙스가 강한 특성 key와 값으로 구성 / attribute는 특성 

 

사람이란 객체를 만들때

사람의 무수한 특성(property)들이 존재할텐데 

추상화 : 사람의 관심있는 데이터들만 모은거

 

property, method는 필요에 따라 추가 할 수 있다.

 

ex) 붕어빵 만들때

붕어빵 틀을 클래스

붕어빵을 객체 혹은 인스턴스라고 함.

 

일반적으로 자바스크립트는 프로토 타입 기반 객체 지향 언어  / 자바는 클래스 기반 객체지향 언어 이다.

 

 

 

프로퍼티 키는 식별바 명명규칙에 따르지 않아도 상관없음.

symbol값은 보통 프로퍼티 키를 만든다. 절대 중복되지 않는 값(= symbol() )

 

  • 프로퍼티 키 : 빈 문자열을 포함하는 모든 문자열 또는 symbol 값
  • 프로퍼티 값 : 자바스크립트에서 사용할 수 있는 모든 값

method : 프로퍼티 값이 함수인것

 

var circle = {
  radius: 5, // ← 프로퍼티

  // 원의 지름
  getDiameter: function () { // ← 메소드
    return 2 * this.radius; // this는 circle를 가리킨다.
  }
};

console.log(circle.getDiameter());  // 10

 

프로퍼티의 접근은 기본적으로 마침표 표기법으로 쓴다.

 

없는 프로퍼티에 접근하면 undefined 이다.

 

C언어는 클래스안에서 인스턴스를 추가하는것이 불가능하지만

자바스크립트는 객체 생성에 있어서 프로퍼티를 추가,삭제하는것이 가능하다.

 

반응형