일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 쿠버네티스
- 이벤트캡쳐링
- 파이썬
- 리스트복사
- MSA
- 빅오표기법
- 이벤트버블링
- LeetCode
- 백준
- v-if
- 실행 컨텍스트
- 프리코스
- 10926번
- Python
- v-for
- 2588번
- JavaScript
- hoisting
- 10869번
- 우테코
- DevOps
- 도커
- 3003번
- 코어자바스크립트
- v-on
- 젠킨스
- vue
- v-model
- 배열파티션
- 객체지향의 사실과 오해
Archives
- Today
- Total
새오의 개발 기록
Javascript: ES6와 ES6의 차이 본문
ECMAScript
- ES는 ECMAScript
- Javascript를 뒷받침하는 언어이자 자바스크립트의 표준화를 작업
- 계속 업데이트 중
- 언어에 무엇이 포함되고 무엇이 포함되지 않을지를 결정함
- Javascript는 ECMAScript의 특정 버전
- ES5에서 ES6 사이에 많은 변화 있었음
ES5 이하 | ES6 |
IE를 포함한 모든 브라우저에서 지원 | 엣지, 크롬, firefox를 포함한 모던 브라우저에 대한 지원 |
var만 있고 let과 const 없음 | 여러 새로운 기능의 도입으로 더 깔끔하고 나은, 빠른 코드 작성이 가능 |
문법은 ES6와 거의 같으나 없는 기능이 있음 | 계속 업데이트 중 |
var vs let vs const
var | let | const |
변수 생성 | 상수 생성 | |
최초의 변수 생성 방법 | ES6부터 사용 | ES6부터 사용 |
함수 & 전역 스코프 | 블록 스코프 | 블록 스코프 |
재선언 가능, 재할당 가능 | 재선언 불가, 재할당 가능 | 재선언 불가, 재할당 불가 |
키워드 없이 선언됨 |
Hoisting
Javascript 엔진과 브라우저에서 스크립트를 로드할 때 전체 스크립트를 확인해서 함수를 찾은 뒤 자동으로 들록하고 로드해서
실제 사용하는 코드 아래에 함수를 작성하도록 하는 것
var로 생성한 변수는 이 변수의 선언을 파일의 시작 부분으로 가져오는데 초기화는 그대로 둬서 실제 코드를 작성한 위치에서 값을 할당
let과 const도 마찬가지로 동작하지만 선언만 할 뿐 초기값을 전혀 할당하지 않음 -> 초기화 오류 발생
var는 undefine 의 초기값을 할당 -> 코드를 이해하기 어렵게 하기 때문에 장점이라 하기 어려움
엄격 모드 & 읽기 좋은 코드
관대한 언어인 자바스크립트에서 안전한 코드를 작성하기 위해 엄격 모드 선언해 사용할 수 있음
엄격 모드 선언 시
- 기존에는 조용히 무시되던 에러들을 throwing함.
- JavaScript 엔진의 최적화 작업을 어렵게 만드는 실수들을 바로잡음. 가끔씩 엄격 모드의 코드는 비-엄격 모드의 동일한 코드보다 더 빨리 작동하도록 만들어짐.
- 엄격 모드는 ECMAScript의 차기 버전들에서 정의 될 문법을 금지.
- 키워드 없이 변수 선언해도 선언 됨
엄격 모드 활성화 방법
"use strict";
'Javascript' 카테고리의 다른 글
Javascript: 코드 실행의 원리(힙, 스택) (1) | 2023.01.25 |
---|---|
Javascript: 코드의 분석과 컴파일링 (0) | 2023.01.25 |
Javascript: Math.floor() (0) | 2023.01.19 |
Javascript: Math.abs() (0) | 2023.01.16 |
Javascript: Array.fill() (0) | 2023.01.14 |