* 원시타입
- number
- string
- boolean
- null : 의도적으로 변수에 값이 없다는 것을 명시할 때 사용.
- undefined : 선언 이후 값을 할당하지 않은 변수는 undefined값을 가진다. 즉, 선언은 되었지만 값을 할당하지 않은 변수에 접근하거나 존재하지 않는 객체 프로퍼티에 접근할 경우 undefined가 반환된다.
- symbol: ES6에서 새롭게 추가된 타입, 변경 불가능한 원시 타입의 값. 주로 충돌 위험이 없는 유일한 객체의 프로퍼티 키를 만들기 위해 사용함.
* 객체타입
- object
=> JS는 변수 선언시 데이터 타입을 미리 지정하지 않아도 된다.
* 객체
- 객체 기반의 스크립트 언어이며, 원시타입을 제외한 나머지 값들(함수, 배열, 정규표현식)은 모두 객체이다.
- 객체는 키와 값으로 구성된 property의 집합
* 프로퍼티
- 프로퍼티 키와 프로퍼티 값으로 구성됨.
- 프로퍼티 키는 프로퍼티를 식별하기 위한 식별자이다.
- 프로퍼티 키: 빈 문자열을 포함하는 모든 문자열 또는 symbol 값
- 프로퍼티 값: 모든 값
* Object 생성자 함수
- new연산자와 Object 생성자 함수를 호출하여 빈 객체를 생성할 수 있다.
- new 키워드와 함께 객체를 생성하고 초기화하는 함수를 의미.
- 생성자 함수를 통해 생성된 객체를 인스턴스라고 한다.
* 생성자 함수
- 말 그대로 객체를 생성하는 함수.
- 함수 이름은 일반적으로 대문자로 시작함. 생성자 함수임을 인식하도록 도움을 준다.
- 프로퍼티 or 메소드명 앞에 기술한 this는 생성자 함수가 생성할 인스턴스를 가리킨다.
- this에 연결되어 있는 프로퍼티와 메소드는 public 함.
* Immutability
- 객체가 생성된 이후 그 상태를 변경할 수 없는 디자인 패턴을 의미.
- 함수형 프로그래밍의 핵심 원리.
* scope
- 지역과 전역의 예시: 밖(전역)에서는 안(지역)이 보이지 않고 안에서만 밖을 볼 수 있는것과 같은 의미
* IIFE: Imediately Invoked Function Expression (함수 즉시 실행)
(function hello(){
console.log("IIFE");
})();
'FE > JavaScript' 카테고리의 다른 글
JS기본 #2 (0) | 2021.07.08 |
---|---|
class & object (0) | 2021.06.30 |
Array의 여러 메소드 (0) | 2020.12.25 |
구구단 만들기 (0) | 2020.12.20 |
끝말잇기 만들기 (0) | 2020.12.18 |