Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- 이터레이션프로토콜
- 자바객체 #자바인스턴스 #객체와인스턴스차이점
- chatGPT
- tts-1
- javascript문법
- 자바스크립트문법 #노마드코더 #
- 레이아웃모델
- AI
- ime란
- 이터러블프로토콜
- ime일본어처리
- realtimeapi
- 이터레이터프로토콜
- Realtime
- flexgrid차이점
- flex사용법
- gpt-4o-transcribe
- 바닐라JS #바닐라JS로크롭앱만들기 #
- flex특징
- OpenAI
- 음성채팅
- iterationprotocol
- JAVA #Swing #자바스윙 #스윙
- 배열재정렬함수
- ES6란
- interable
- 자바스크립트sort함수
- DestructuringAssignment
- whisper-1
- 자바스크립트filter
Archives
- Today
- Total
끄적끄적 개발기록
[자바스크립트] 구조 분해 할당 본문
❓ 구조 분해 할당이란 ❓
구조 분해 할당 구문은 배열이나 객체의 속성을 분해해서 그 값을 변수에 담을 수 있게 하는 표현식을 의미
<배열 구조 분해>
let [x,y] = [1,2];
console.log(x); //1
console.log(y); //2
예시로 더 알아보자!
let users = ['Mike', 'Tom', 'Jane'];
let [user1, user2, user3] = users;
//위 코드는 아래 세 코드와 동일!!
//let user1 = users[0];
//let user2 = users[1];
//let user3 = users[2];
console.log(user1); //'Mike'
console.log(user2); //'Tom'
console.log(user3); //'Jane'
split을 통해 더 이해하기-!
let str="Mike-Tom-Hia";
let [user1,user2,user3] = str.split('-');
console.log(user1); //'Mike'
console.log(user2); //'Tom'
console.log(user3); //'Hia'
만약 해당하는 값이 없다면?
c는 값이 없어서 undefined가 들어감
하지만 기본값을 미리 주면 5가 출력된다.
=> 값이 undefined면 미리 설정해준 기본값이 들어간다!!

일부 반환값 무시하기

이미 할당된 값을 바꾸려면??
=> 의미없는 임의의 변수를 하나 더 만들어서 값을 옮겨주어야 한다!!
=> 굉앙장히 복잡! => 구조 분해 할당은 이를 훨씬 편리하게 해준다!!


<객체 구조 분해>
let user = {name:'Mike', age :30};
let {user, age} = user;
//위 코드는 아래와 동일
//let name = user.name;
//let age= user.age;
console.log(name); //'Mike'
console.log(age); //30
객체 구조 분해 할당은 배열 구조 분해 할당과 크게 다르지 않다!
한 가지 차이점이 있다면 순서가 중요하지 않다는 것!
ex) let {age, user} = user;
=> 이렇게 작성해도 OK!!
변수 이름 변경해서 할당

출력하면 동일하게 값 나온다!
객체 기본 값 주기

※ 만약 user객체에 gender가 할당되어 있다면 (undefined이 아니라면) 기본값 적용이 되지 않음을 유의하기!!!
출처 : 코딩앙마 자바스크립트 구조분해할당 강의
https://www.youtube.com/watch?v=lV7ulA7R5Nk
'개발 > Javascript' 카테고리의 다른 글
| [Javascript] 이벤트루프와 자바스크립트의 비동기 처리 과정 (1) | 2023.03.15 |
|---|---|
| [Javascript]ES6 (0) | 2022.10.10 |
| [Javascript]Axios란? (0) | 2022.10.09 |
| [Javascript] flatmap() (0) | 2022.04.20 |
| [자바스크립트] sort 함수 (0) | 2022.03.31 |