👨‍💻
프론트엔드 기술 블로그
  • 프론트엔드 기술 저장소
  • React
    • React Hook
      • useRef
      • useReducer
      • useCallback
      • useMemo
      • useState
      • useEffect
      • useContext
      • Custom Hook
  • Javascript
    • 자바스크립트 기본
      • 데이터타입
      • 배열메소드
      • 타입 및 객체 체크
      • this
        • bind, call, apply
      • 프로토타입
      • 클로저
      • 스코프
      • 함수
      • 호이스팅
    • ECMAScript 6
      • let, const
      • 화살표 함수
      • 구조분해할당
      • Promise
      • 템플릿 문자열 표현식
      • 이터레이션
      • 클래스 (Class)
      • 심볼 (Symbol)
      • 제너레이터
  • 객체지향설계
    • 객체 지향 설계 원칙
      • 단일 책임 원칙
      • 개방 폐쇄 원칙
      • 리스코프 치환 원칙
      • 인터페이스 분리 원칙
      • 의존 역전 원칙
  • 브라우저와 자바스크립트
    • Document Object Model
      • DOM API
      • 이벤트 (Event)
  • Node.js
    • 번들러
      • webpack 설정
    • node.js 버전 관리
  • HTTP
    • HTTP 기본
      • 1. 웹과 네트워크 기본
        • 1.1 웹은 HTTP로 나타낸다.
        • 1.2 HTTP 탄생과 성장
        • 1.3 네트워크 기본 TCP/IP
        • 1.4 HTTP와 관계가 깊은 프로토콜 IP/TCP/DNS
        • 1.5 이름 해결 담당 DNS
        • 1.6 각각과 HTTP와의 관계
        • 1.7 URI와 URL
      • 2. 프로토콜 HTTP
        • 2.1 HTTP는 클라이언트와 서버간에 통신을 한다.
        • 2.2 리퀘스트와 리스폰스를 교환하여 성립
        • 2.3 상태를 유지하지 않는 프로토콜 HTTP
        • 2.4 리퀘스트 URI로 리소스 식별
        • 2.5 HTTP 메소드
        • 2.6 메소드 사용
        • 2.7 지속연결로 접속량 절약
        • 2.8 쿠키를 사용한 상태관리
      • 3. HTTP 정보는 HTTP 메시지에 있다.
        • 3.1 HTTP 메시지
        • 3.2 리퀘스트 메시지와 리스폰스 메시지 구조
        • 3.3 인코딩으로 전송 효율을 높이다.
        • 3.4 여러 데이터를 보내는 멀티파트
        • 3.5 일부분만 받는 레인지 리퀘스트
        • 3.6 최적의 콘텐츠를 돌려주는 콘텐츠 네고시에이션
      • 4. 결과를 전달하는 HTTP 상태코드
        • 4.1 상태코드는 서버로부터 리퀘스트 결과를 전달한다.
        • 4.2 2xx 성공
        • 4.3. 3xx 리다이렉트
        • 4.4 4xx 클라이언트 에러
        • 4.5 5xx 서버 에러
      • 5. HTTP와 연계하는 웹 서버
        • 5.1 1대로 멀티 도메인을 가능하게 하는 가상 호스트
        • 5.2 통신을 중계하는 프로그램 : 프록시, 게이트웨이, 터널
      • 7. 웹을 안전하게 HTTPS
        • 7.1 HTTP의 약점
        • 7.2 HTTP+암호화+인증+완전성보호 = HTTPS
  • IDE
    • Webstorm
      • 웹스톰 단축키
      • 웹스톰 소스코드 특정폴더 검색 제외
  • GIT
    • Git 기초 명령어
Powered by GitBook
On this page
  • 배열 구조분해 할당
  • 객체 분해 구조할당
  • 함수 파라미터에서 객체분해구조할당

Was this helpful?

  1. Javascript
  2. ECMAScript 6

구조분해할당

자바스크립트 구조분해할당

배열이나 객체를 분해하여 변수에 할당하는 문법이다.

배열 구조분해 할당

const [a, b] = [1,2,3] //1번
console.log(a); //1
console.log(b); //2

const [c,...rest] = [1,2,3] //2번
console.log(c); //1
console.log(rest); //[2,3]

const [d, ,f] = [1,2,3] //3번
console.log(d); //1
console.log(f); //3

let g = 10;
let h = 20;
[g, h] = [h, g]; //4번 
console.log(g); //20
console.log(h); //10
  1. 순서대로 a, b에 값을 할당하고 3은 무시한다.

  2. 순서대로 c에 1을 할당하고 spread문법으로 나머지를 rest에 할당한다.

  3. 두번째자리를 비움으로써 d, f 순서대로 1, 3을 할당한다.

  4. 두 값을 바꿀수도 있다.

객체 분해 구조할당

const {a, b} = {a: 1, b: 2}; //1번
console.log(a); //1
console.log(b); //2

const {a = 1, b} = {b: 2}; //2번
console.log(a); //1
console.log(b); //2

const {a:aa, b:bb} = {a: 1, b: 2}; //3번
console.log(aa); //1
console.log(bb); //2

const {a:aa = 1, b:bb} = {b: 2}; //4번 
console.log(aa); //1
console.log(bb); //2
  1. 우측 객체 프로퍼티를 좌측 변수에 대입한다. 좌측 변수이름은 가져올 객체 프로퍼티와 같아야 한다.

  2. 위와 같지만 값을 가져올 객체에 a 프로퍼티가 없거나 값이 undefined이면 a 기본값을 1로 할당한다.

  3. 1과 같지만 변수이름을 aa 와 bb 로 변경한다. a는 변수로써 못쓰이고 aa로만 쓸 수 있다.

  4. 1,2,3의 조합 - 객체 프로퍼티를 a, b로 변수로 할당하지만 이름은 aa, bb로 변경하고, a프로퍼티가 없거나 값이 undefined 이면 aa 기본값을 1로 할당한다.

함수 파라미터에서 객체분해구조할당

함수의 파라미터 에서도 쓸 수 있다.

const func = ({a = 1, b}) => {
  console.log(a);//1
  console.log(b);//2
}

func({a:1, b:2});
Previous화살표 함수NextPromise

Last updated 2 years ago

Was this helpful?