ES6의 특징

정승원·2023년 3월 14일
0

2️⃣ ES6의 특징

✅ ES란?

  • ECMA Script의 약자로서 ECMA International 에서 만든 Javascript 표준안이다.
  • Javascript ES6의 경우, ECMA Script 6 표준을 따르는 Javascript이다.
  • ES 뒤의 숫자는 버전을 의미한다.
  • ES6보다 ES2015라고 더 많이 불린다.

✅ ES6의 특징

🔹 블록 범위 생성자 let 및 const(Block-Scoped Constructs Let and Const)

let

- 블록 레벨 스코프이다
- 재선언 불가하다
- 재할당 가능하다

const

- 블록 레벨 스코프이다
- 재선언 불가하다
- 재할당 불가하다 (상수이기 때문)
- 반드시 선언과 동시에 할당을 해야한다

var

- 재선언과 재할당이 가능하다
- 호이스팅 된다
- 함수 레벨 스코프이다

🔹 기본 매개변수 (Default Parameters)

  • 함수의 파라미터에 default값의 정의 할 수 있다
const func = (a, b=1)=>{
  return = a + b;
}
func(10)

결과 : 10 + 1 = 11

🔹 템플릿 리터럴 (Template Literals)

  • 문자열을 연결하고 새로운 문자열을 생성하는 문법이다
  • 실무에서 자주 사용되는 문법이다
  • 백틱(`)과 ${}`를 사용하여 생성한다
const template = `${a}${b}${c}입니다`

🔹 멀티 라인 문자열 (Muti-line Strings)

  • 템플릿 리터럴을 활용하면 문자열을 개행할 수 있다
const one = "문자열이
			개행이 되지 않습니다"

const two = `문자열이 
			개행이 됩니다`

🔹 비구조화 할당 (Destructing Assignment)

  • 배열 or 객체의 개별 값을 변수에 나누어 담을 수 있다
const arr = ['가', '나', '다', '라'];
const [a, b] = arr;

결과 : a = '가', b = '나'

const obj = {
  name: "철수",
  age: 25
}
const {name, age} = obj

결과 : name = "철수", age = 25

🔹 향상된 객체 리터럴 (Enhanced Object Literals)

  • ES6 이전의 객체 정의 방식을 개선한 문법
  • 기존 객체 정의 방식
const obj = {
  name: "javascript",
  coding: function() {
    console.log("코드입니다");
  }
}
  • 축약 문법
name = "코딩";
consr obj = {
  // name: name,
  name
}
console.log(obj) // {name: "코딩"}

🔹 화살표 함수 (Arrow Functions)

  • 익명함수라고도 불린다
  • 화살표 함수는 메소드 함수가 아닌 곳에 가장 적합하다
  • 생성자로서 사용할 수 없다
const arrow = ()=>{
}

🔹 Promises

  • JavaScript의 비동기에서 사용되는 객체이다
  • Promises 이전 비동기 처리는 Callback 함수를 통해 이루어졌다
  • Promises의 상태
    - Pending (대기) : Promises가 생성 되었을 때
    - Fullfilled (이행) : resolve 실행 되었을 때
    - Rejected (실패) : reject 실행 되었을 때

🔹 클래스 (Classes)

  • ES6부터 JavaScript에서 classclass 상속을 지원한다
  • 그 이전에는 생성자를 사용했다

🔹 모듈 (Modules)

  • Javascript의 중요한 새 기능, 또는 새 기능들의 통칭
  • import, export를 이용해 내보내거나 불러올 수 있다.

0개의 댓글