일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Programming Practice
- 사용자 에러
- UI 레이어
- JS 이벤트
- Try...catch
- 자스
- 자바스크립트
- 객체지향프로그래밍 언어
- 스타일가이드라인
- 프로그래밍 프랙티스
- js
- 에러 던지기
- 자바스크립트 코드 스타일
- 리엑트 이벤트
- 함수 호이스팅
- 브라우저 탐지
- 비구조화 할당
- JS cod e style
- 자바스크립트 생성자
- html5
- 에이전트 탐지
- Null비교 금지
- 변수 선언
- 자바스크립트 클래스
- javascript
- 자바스크립트 문자열
- 자바스크립트의 기본 포멧
- 트라이캐치
- React 리액트
- 자바스크립트 객체
Archives
- Today
- Total
GomJu's Coding Blog
[JS] 15. 자바스크립트 기초 문법 - 비구조화 본문
Q : 자바스크립트의 비구조화 할당은 어떨때 쓰이나요?
A : 자바스크립트에서 구조화된 데이터를 변수로 받기 위해 사용합니다.
자바스크립트의 문법은 크게 ES5와 ES6로 나눌 수 있습니다. ES6는 ECMAscript의 6번째 에디션입니다. 지금까지 ES5문법에서 비구조화를 표현하기 위해서는 복잡한 과정을 치러야 했습니다. 다음은 ES5에서의 비구조화 하는 방식입니다.
// browser var data = $('body').data(), // data has properties house and mouse house = data.house, mouse = data.mouse // Node.js var jsonMiddleware = require('body-parser').json var body = req.body, // body has username and password username = body.username, password = body.password한눈에 알아보기도 힘들고, 무엇보다 복잡한 코드가 생성됩니다. 이러한 불편함을 막기위해 생겨난 ES6의 문법인 비구조화 할당! 다음은 그 예시입니다.
var {house, mouse} = $('body').data() // we'll get house and mouse variables var {jsonMiddleware} = require('body-parser') var {username, password} = req.body첫번째 라인에서 house와 mouse를 괄호로 감싼 후 값을 지정해줍니다. 이 의미는
var house = $('body').data(); var mouse = $('body').data();와 같은 의미입니다. 이와 같이 간단한 방식으로 비 구조화 시킬 수 있습니다.
지금까지 위의 경우는 구조화 시킬 것이 구조화된 데이터일 경우입니다. 다음은 구조화 시킬 것이 배열일 경우입니다. 배열일 경우에는 중괄호로 표현하지 않고 배열을 선언할 때 사용하는 대괄호를 이용합니다.
var [house, mouse] = $('body').data() // we'll get house and mouse variables var [jsonMiddleware] = require('body-parser') var [username, password] = req.body비구조화 할당의 개념은 고급개념에 해당된다고 생각합니다. 무엇보다 ES5를 아직 잘 모르시는 여러분에게는 말이죠. 나중에 기회가 되면 ES6문법을 공부해보시는 것을 추천합니다. :D
마무리
다음 포스팅 에서는 《기초문법-모듈》에 대해 포스팅 하도록 하겠습니다.
'WEB > JavaScript' 카테고리의 다른 글
[JS] 17. 자바스크립트 기초 문법 - 호이스팅 (0) | 2018.11.27 |
---|---|
[JS] 16. 자바스크립트 기초 문법 - 모듈 (0) | 2018.11.26 |
[JS] 14. 자바스크립트 기초 문법 - 함수 (0) | 2018.11.24 |
[JS] 13. 자바스크립트 기초 문법 - 반복문 (0) | 2018.11.23 |
[JS] 12. 자바스크립트 기초 문법 - 제어문 (0) | 2018.11.22 |
Comments