1. 객체 정의
- 공백과 줄 바꿈은 중요하지 않음
- 객체의 이름 : 값
- 원시(primitive) 데이터 타입은 객체가 아님
: 문자열(String), 숫자(Number), 부울(Boolean)
불변(immutable), 객체가 아니기 때문에 메소드나 속성을 가지지 않음
2. 개체 속성에 접근 방법
- 객체의 속성을 읽거나 수정하는 방법을 설명하는 것
- 점 표기법 (Dot notation)
개체의 속성 이름은 점(
.
)을 사용하여 개체 이름 다음에 표시 유효한 식별자인 경우
속성 이름이 공백이나 예약어가 없어야 함
ex) objectName.propertyName
- 대괄호 표기법 (Bracket notation)
속성 이름은 문자열로 제공
유효한 식별자가 아닌 경우
변수에 저장된 경우
ex) objectName["propertyName"]
3. 객체 Method
- 객체에 대해 수행할 수 있는 작업
- 함수 정의 로 속성에 저장
4. this
- 값은 호출 컨텍스트에 따라 달라짐
- 객체 메소드에서 객체를 참조
- 단독으로 전역 개체를 참조 : 전역 범위에서 전역 객체를 참조
- 함수가 객체의 메소드로 호출될 때 해당 객체(소유자)를 참조
전역 범위에서 호출될 때는 전역 객체를 참조
- 이벤트 처리기 함수에서 이벤트를 받은 요소를 참조
call()
,apply()
사용하여 함수를 호출할 때 : 첫 번째 매개변수로 전달된 객체가 설정
*엄격 모드(strict mode) : ECMAScript 5부터 도입된 기능
코드 작성시 더 엄격한 문법 검사를 수행하는 모드
일부 JavaScript의 미묘한 버그와 안전하지 않은 기능을 사용할 수 없게 됨
5. 객체 메소드 호출
- () 괄호 없이 메서드에 액세스하면 함수 정의가 반환
- 해당 객체의 이름 뒤에 점(
.
)을 붙이고 호출하려는 메소드의 이름 적기
Share article