객체란?
원시 타입의 값은 변경 불가능한 값이지만 객체는 변경 가능한 값으로, 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조다.
프로퍼티: 객체의 상태를 나타내는 값. 키와 값으로 구성
메서드: 프로퍼티를 참조하고 조작할 수 있는 동작
var counter = {
num: 0, // 프로퍼티
//num : 프로퍼티 키, 0 : 프로퍼티 값
increase: function() { // 메서드
this.num++;
}
};
객체 리터럴에 의한 객체 생성
리터럴은 사람이 이해할 수 있는 문자, 약속된 기호를 사용해 값을 생성하는 표기법이다.
객체 리터럴은 객체를 생성하기 위한 표기법이다.
객체 리터럴은 값으로 평가되는 표현식이다. 이 때 쓰이는 중괄호는 코드 블록을 의미하지 않기 때문에
중괄호 뒤에 세미콜론을 붙인다.
프로퍼티
객체는 프로퍼티의 집합이며, 프로퍼티는 키와 값으로 구성된다.
프로퍼티 키는 프로퍼티 값에 접근할 수 있는 이름으로서 식별자 역할을 한다.
프로퍼티 키가 식별자 네이밍 규칙을 따르지 않는다면 반드시 따옴표를 사용해야한다.
1.접근
- 마침표 표기법
- 대괄호 표기법
var person = {
name: 'Kim'
};
console.log(person.name); // 마침표 표기법
console.log(person['name']); // 대괄호 표기법(반드시 따옴표로 감싼 문자열이어야 함)
2.갱신
이미 존재하는 프로퍼티에 대하여 값을 할당하면 프로퍼티 값이 갱신된다.
person.name = "Lee";
console.log(person); //{name: "Lee"}
3.동적 생성
존재하지 않는 프로퍼티에 값을 할당하면 프로퍼티가 동적으로 생성되어 추가되고 값이 할당된다.
person.age = 20;
console.log(person); // {name: "Kim", age:20}
4.삭제
delete 연산자는 객체의 프로퍼티를 삭제한다.
delete person.age;
메서드
자바스크립트의 함수는 객체다. 함수는 값으로 취급 할 수 있기 때문에 프로퍼티 값으로 사용할 수 있다.
프로퍼티 값이 함수일 경우 일반 함수와 구분하기위해 '메서드'라 부른다.
즉, 메서드는 객체에 묶여 있는 함수를 의미한다.
'FRONT > JAVASCRIPT' 카테고리의 다른 글
[javascript] 함수 (함수 호이스팅, 매개변수, 반환문) (0) | 2021.06.17 |
---|---|
[javascript] 원시 값과 객체의 비교 (0) | 2021.06.17 |
[javascript] 타입 변환과 단축 평가 (0) | 2021.06.17 |
[javascript] 데이터 타입 (0) | 2021.06.16 |
[javascript] 표현식과 문 (0) | 2021.06.16 |