자바스크립트는 프로토타입 기반 객체(object)지향 프로그래밍 언어이다.
자바스크립트는 원시 값을 제외한 모든 값이 객체이다.
원시 타입은 하나의 값만을 나타내지만 객체 타입은 다양한 타입의 값을 하나의 단위로 구성한 자료구조임.
원시 타입의 값은 변경 불가능한 값이지만 객체 타입의 값은 변경 가능한 값이다.
객체는 0개 이상의 프로퍼티로 구성된 집합이며 프로퍼티는 키와 값으로 구성된다.
프로퍼티 값이 함수인 경우 메서드라 부른다.
객체 생성 방법
객체 리터럴은 중괄호 내에 0개 이상의 프로퍼티를 정의함.
var person = {
name: 'gildong',
sayHello: function () {
console.log('Hello! My name is ${this.name}.');
}
};
console.log(typeof person);
console.log(person);
객체 리터럴의 중괄호는 코드 블록이 아니므로 세미클론을 붙여야한다.
var person = {
name: 'gildong', //프로퍼티 키: name 값:'gildong'
age: 20
};
프로퍼티 나열시 쉼표 사용.
식별자 네이밍 규칙을 지키는 프로포티 키는 따옴표 생략가능.
프로퍼티 값이 함수인 경우 일반 함수와 구분하기 위해 메서드라 한다.
좌측에는 객체로 평가되는 표현식, 우측&내부에는 프로퍼티 키
var person = {
name: 'gildong'
};
console.log(person.name);
console.log(person['name']);