3.03[ES6 문법]

Lee·2023년 3월 3일
0

오.배.이.안& 회고

목록 보기
16/46
post-thumbnail

3.03 오배이안


오늘 배운것


클로저

함수와 그 함수 주변 상태의 주소 조합.
풀어 말하면 실행이 끝난 함수의 지역 변수를 참조하면서 실행이 끝난 함수보다 오래 실행되는 함수 === 클로저
보통은 함수 내부에 하나의 함수가 리턴되어지는 형식으로 있다.

  • 클로저 특징
  1. 데이터 보존에 유리하고
  2. 커링 형식으로 사용하면(함수를 중첩으로 리턴하는 함수)
    함수의 일부만 호출하거나, 일부 프로세스가 완료된 상태를 저장하기 용이
    즉, 자기가 사용하고 싶을때 사용가능하다는 말이다.
  3. 모듈화(데이터 캡슐화 암호화) 가 가능하다.
    특정 데이터를 다른 코드의 실행으로부터 보호해야 할 때 용이함.

ES6 문법

  • spread/rest 연산자
  • spread 연산자 (...)
  1. 객체나 배열의 요소, 프로퍼티 만 가져와 새로운 배열이나 객체에 담아줌
  2. 기존의 객체 배열은 건들이지 않음.
  3. 배열이나 객체 끼리의 복사나 추가도 가능
  4. 함수의 전달인자에 사용이 가능함.
  • rest 파라미터 (...rest)
  1. spread 연산자와 비슷해보이지만 다름.
  2. 객체, 배열, 함수의 매개변수에서 사용이 가능함.
  3. 객체와 배열에서 사용할 때는 구조 분해 할당 문법과 함께 사용됨.
  4. 사용할때는 주로 rest 키워드를 사용하는데 꼭 rest 일 필요는 없음.

  • 구조 분해 할당 문법
  1. 배열이나 객체의 속성들을 해체해 그 값들을 개별 변수에 담는 문법
  2. 구조 분해 할당의 구문은 일반적인 객체나 배열을 정의하는 것과 유사하지만
    대신 할당문의 좌변에서 사용하여, 원래 변수에서 어떤 값을 분해해 할당할지 정의한다.

  • 화살표 함수
  1. 함수를 정의하는 새로운 방법 'function' 키워드 대신 => 화살표를 사용함
  2. 'function' 키워드를 사용하지 않기 때문에 스코프 중 블록 스코프를 따름
  3. 사용 예시

  1. 특징
    • 매개변수가 한 개일 때, 소괄호를 생략할 수 있다. (매개변수가 없거나 2개이상이면 소괄호 필수!)
    • 화살표 함수 코드 블록 내부가 하나의 문으로 구성되어 있으면 중괄호와 return 키워드를 생략할 수 있다.


이해 안 되는 것


  • rest 파라미터

rest 파라미터는 두가지 경우로 사용가능한데
1. rest 파라미터 + 구조분해 할당 문법 같이 사용하게 되면 객체나 배열의 나머지 요소나 프로퍼티를 추출할 수 있다.

사용 예

  • 객체의경우

rest 파라미터 부분
{three(뺄 값), ...rest}
구조 분해 할당 문법 부분
const {three(뺄 값), ...rest} = a;

  • 배열의 경우

  1. 함수에서 정해지지않은 매개변수를 배열로 받을 수 있다.
    즉 매개변수에 어떤 범위의 값들이 들어올 지 모르는 경우에 사용하면 좋음.

    사용 예

    주의할 점은
    spread 연산자는 전달인자에 주어져야하고
    rest 파라미터는 매개변수에 주어져야 한다!


사진참조
사진참조

0개의 댓글