ECMAScript

ECMAScript (ES6+)

JavaScript 표준 명세, ES6부터 객체지향 언어로 진화

개요

데이터 타입

분류 타입 특징
원시타입 string, integer, boolean 값 자체를 저장
참조타입 객체, 배열 같은 공간에서 값을 참조 → 변경 시 같은 값으로 출력

ES6+ 주요 문법

let / const

let x = 1;      // 재할당 가능
const y = 2;    // 재할당 불가

화살표 함수 (Arrow Function)

const add = (a, b) => a + b;

템플릿 리터럴

const name = 'world';
console.log(`Hello, ${name}!`);

구조 분해 할당 (Destructuring)

const [a, b] = [1, 2];
const { name, age } = { name: 'Alice', age: 25 };

스프레드 연산자

const arr = [1, 2, 3];
const newArr = [...arr, 4, 5];

기본 매개변수

function greet(name = 'Guest') {
  return `Hello, ${name}`;
}

클래스 (Class)

class Animal {
  constructor(name) {
    this.name = name;
  }
  speak() {
    console.log(`${this.name} makes a noise.`);
  }
}

Promise / async-await

// Promise
fetch('/api/data')
  .then(res => res.json())
  .then(data => console.log(data));

// async-await
async function getData() {
  const res = await fetch('/api/data');
  const data = await res.json();
  return data;
}

모듈 (Module)

// 내보내기
export const PI = 3.14;
export default function greet() {}

// 가져오기
import greet, { PI } from './module.js';

관련 개념