1. Object에 대하여
자바스크립트에 대해
- 자바스크립트는 객체(object) 기반의 스크립트 언어이다. 자바스크립트를 이루고 있는 거의 모든 것이 객체이다. 원시 타입(Primitives)을 제외한 나머지 값들(함수, 배열, 정규표현식 등)은 모두 객체이다.
- 자바스크립트의 객체는 키(key)과 값(value)으로 구성된 프로퍼티(Property)들의 집합이다. 프로퍼티의 값으로 자바스크립트에서 사용할 수 있는 모든 값을 사용할 수 있다. 자바스크립트의 함수는 일급 객체이므로 값으로 취급할 수 있다. 따라서 프로퍼티 값으로 함수를 사용할 수도 있으며 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메소드라 부른다.
- 이와 같이 객체는 데이터를 의미하는 프로퍼티(property)와 데이터를 참조하고 조작할 수 있는 동작(behavior)을 의미하는 메소드(method)로 구성된 집합이다. 객체는 데이터(프로퍼티)와 그 데이터에 관련되는 동작(메소드)을 모두 포함할 수 있기 때문에 데이터와 동작을 하나의 단위로 구조화할 수 있어 유용하다.
- 자바스크립트의 객체는 객체지향의 상속을 구현하기 위해 “프로토타입(prototype)”이라고 불리는 객체의 프로퍼티와 메소드를 상속받을 수 있다. 이 프로토타입은 타 언어와 구별되는 중요한 개념이다.
프로퍼티 가 뭘까?
어떤 객체가 가지고 있는 항목들을 ‘프로퍼티’라고 한다. 한국어로는 ‘속성’ 이라고 부릅니다.
const jsstudy = {
foo: true,
bar: 12345,
baz: 'hello',
}
foo, bar, baz 라는 글자는 프로퍼티의 키에 해당하고
프로퍼티는 각각의 키와 그 키가 담고있는 각각의 값을 모두 통틀어 부를때 쓰는 명칭
ex) 사람을 예로 들면 피부색, 키, 몸무게 등 사람의 속성들
프로토타입이 뭘까?
자바스크립트의 모든 객체는 자신의 부모 역할을 담당하는 객체와 연결되어 있다. 마치 객체 지향의 상속 개념과 같이 부모 객체의 프로퍼티 또는 메소드를 상속받아 사용할 수 있다.
이러한 부모 객체를 **Prototype(프로토타입)**이라 한다.
2. 표현식 / 문 / 연산자
표현식