Core-JS INDEX
1. Variable
2. StrictMode
3. Global This
4. Data Types
5. Type Conversion <
6. Operations
7. Condition
8. Loop
9. Function
10. Objects
11. Prototype
12. Class
13. Try Catch
공식 자바스크립트 문서 참고
1. Variable (변수)
- let 키워드와 할당 연산자(=)
- var은 오래된 변수 선언 키워드
- 값은 언제든지 변경 가능
1.1. 상수
- const 키워드 사용
- 변경 불가능
- 기억하기 힘든 값은 대문자와 밑줄 (ex.COLOR_RED)
2. Strict Mode (엄격모드)
- 자바스크립트는 새로운 기능이 추가, 기존 기능 중 일부가 변경됨-> 하위 호환성 문제
- 엄격 모드 활성화 -> 이 변경 사항이 활성화
- 무시되던 에러들을 throw
- 더 빠르게 작동
- 차기 버전들에서 정의될 문법을 금지
- 꼭 "스크립트 최상단"에 작성
use strict
2.1. 브라우저 콘솔
'use strict'; <Shift+Enter를 눌러 줄 바꿈 함>
// ...테스트하려는 코드 입력
<Enter를 눌러 실행>
결론: 코드를 클래스와 모듈을 사용해 구성한다면 "use strict"를 생략해도 됨.
3. Global this (전역 객체)
- 전역 객체: 어디서나 사용 가능한 변수, 함수
- 전체 코드에서 단 1개만 존재
- 꼭 필요한 변수만 전역 객체 저장, 가능한 최소한으로 사용
- 모듈을 사용하고 있지 X -> var 로 선언한 전역 변수는 전역 객체의 프로퍼티
- 모든 객체는 전역객체의 속성
- 브라우저 환경: window, Node.js 환경: global
alert("Hello");
// 위와 동일하게 동작합니다.
window.alert("Hello");
// 모든 스크립트에서 현재 사용자(current user)에 접근할 수 있게 이를 전역 객체에 추가함
window.currentUser = {
name: "John"
};
// 아래와 같은 방법으로 모든 스크립트에서 currentUser에 접근할 수 있음
alert(currentUser.name); // John
// 지역 변수 'currentUser'가 있다면
// 지역 변수와 충돌 없이 전역 객체 window에서 이를 명시적으로 가져올 수 있음
alert(window.currentUser.name); // John
3.1. 폴리필 사용하기
- 최신 자바스크립트는 Promise 객체를 지원
if (!window.Promise) {
alert("구식 브라우저를 사용 중이시군요!");
}
4. Data Type
- 숫자형 – 정수, 부동 소수점 숫자 등의 숫자. 정수의 한계는 ±2의 53승.
- bigint – 길이 제약 없이 정수를 나타낼 수 있습니다.
- 문자형 – 빈 문자열이나 글자들로 이뤄진 문자열을 나타낼 때 사용합니다.
단일 문자를 나타내는 별도의 자료형은 없습니다.
- 불린형 – true, false.
- null – 알 수 없는 값. (빈 휴지통)
- undefined – 할당되지 않은 값 (휴지통 존재 X)
- 객체형 – 복잡한 데이터 구조를 표현할 때 사용합니다.
- 심볼형 – 객체의 고유 식별자를 만들 때 사용합니다.
typeof 연산자는 피연산자의 자료형을 알려줍니다.

typeof x 또는 typeof(x) 형태로 사용합니다.
피연산자의 자료형을 문자열 형태로 반환합니다.
- null의 typeof 연산은 "object"인데, 이는 언어상 오류입니다. null은 객체가 아닙니다.
5. Type Conversion
5.1. 문자형으로 변환
- 무언가를 출력할 때
String(value)
을 사용시 문자형으로 명시적 변환 가능
5.2. 숫자형으로 변환
- 수학 관련 연산지
- Number(value)로도 형 변환 가능

5.3. 불린형으로 변환
- 논리 연산시 발생
- Boolean(value)로도 변환 가능

- 숫자형으로 변환시 undefined는 0이 아니라 NaN
- 문자열 "0"과 " " 같은 공백은 불린형으로 변환 시 true