반응형
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
| 31 |
Tags
- 이석증
- 카카오뷰 탭이동
- 카뷰 수익 인증
- ppt 다이어그램
- 웹기초
- 엑셀 프린트하기
- 30일 글쓰기
- 카카오뷰 성장
- express.js 환경 셋팅
- 자기관리
- HTML
- Axios 라이브러리
- 위드굿즈 굿즈샵
- Git 팀 작업
- 책 원씽
- 카카오뷰 온라인 수익화
- 엑셀 기초 함수
- 도서 원씽
- 성공비법
- ppt 도형 색
- 카카오뷰 부업
- 카카오뷰 초보
- CSS
- 카카오뷰N잡
- git 협업하기
- 성공에 대한 거짓말
- 위드굿즈
- 실시간 통신
- 원씽
- 카카오뷰 수익
Archives
- Today
- Total
김데이의 개발공부
[ TIL ] Day 10 - 자바스크립트 기초 3 : spread, rest, 구조분해할당, 옵셔널체이닝, try-catch-finally 본문
코드잇 Node.js(BE) 부트 캠프/TIL (Today I Learn) 📑
[ TIL ] Day 10 - 자바스크립트 기초 3 : spread, rest, 구조분해할당, 옵셔널체이닝, try-catch-finally
theday365 2025. 10. 1. 16:35반응형
🗓️ 수업 일자 : 2025.10.01
✨ 오늘의 수업 평가 : [ REVIEW ] 가볍게 산책하듯 배움 🏞️☁️
📝 오늘 배운 내용
- 자바스크립트 spread, rest
- 자바스크립트 구조분해할당
- 자바스크립트 옵셔널체이닝
- 자바스크립트 try-catch-finally 문

1. 자바스크립트 spread, rest
- spread
- 정의 : 뿌려준다는 의미의 spread 단어 처럼, 배열이나 객체를 각각의 낱개로 만들어 사용함. 배열이나 객체의 값을 동일하게 복사하거나, 여러 배열&객체를 병합하거나, 배열&객체를 다른곳에 전달할 때 주로 사용.
- 사용법 : "..."을 붙이고 기존 배열/객체 이름을 사용
// 복사 예시
const arr1 = [1,2,3];
const arr2 = [...arr1, 4, 5];
console.log(arr1); // 1,2,3 출력
console.log(arr2); // 1,2,3,4,5 출력
arr2.shift(); // arr2의 맨 앞 값 삭제
console.log(arr1); // 1,2,3 출력
console.log(arr2); // 2,3,4,5 출력
// arr2이 arr1 값을 복사하여 따로 저장해 쓰기 때문에
// arr2의 맨 앞 값을 삭제해도 arr1에 영향이 가지 않음
// 병합 예시
const obj1 = {
name : "kimday",
};
const obj2 = {
nick : "365",
};
const obj3 = {...obj1, ...obj2};
console.log(obj3) ;
// {name : "kimday", nick : "365",} 출력
// 객체 2개(obj1,obj2)가 합쳐져서 새로운 객체가 만들어짐
// 전달 예시
function introduce(name, city) {
console.log(`저는 ${name}, ${city}에 살아요`);
}
const info = ["kimday","korea"];
// spread로 배열을 전달
introduce(...info);
- rest
- 정의 : 정의되고 남은 배열이나 객체의 값을 한번에 모아서 배열로 저장
- 사용법 : "..."을 붙이고 새로운 배열/객체 이름을 사용
const [first, ...namuge] = [10, 20, 30, 40];
console.log(first); // 10 출력
console.log(namuge); // [20, 30, 40] 출력
// first 변수에 맨 앞의 값인 10이 들어가고
// 나머지 20,30,40은 namuge에 배열로 들어감
- 'spread'와 'rest'의 차이점
- 'spread'는 기존의 배열/객체를 그대로 가져가 "새로운 배열/객체"에 정의되어 사용한다
- 'rest'는 사용하고 남은 배열/객체 값이 "새로운 배열"로 만들어 진다
2. 자바스크립트 구조분해할당
- 구조분해할당
- 정의 : 배열 / 객체의 값을 그대로 할당받아 새로운 변수처럼 사용하는 것
- 사용법 : 배열은 순서대로 할당 받고, 객체는 키 이름을 사용하여 할당 받음
const arr = [10, 20, 30];
const [a, b, c] = arr;
// 각각 순서대로 a,b,c에 할당
console.log(a); // 10 출력
console.log(b); // 20 출력
console.log(c); // 30 출력
- 구조분해할당과 rest의 조합
- 구조분해할당으로 필요한 값을 변수에 저장 한 뒤, 나머지 값을 버리는 대신 ...rest 하여 하나의 데이터로 저장해 관리한다
const rainbow = {
red : 1,
orange : 2,
yellow : 3,
green : 4,
blue : 5,
navy : 6,
purple : 7
};
const {red, green, blue, ...others} = rainbow;
console.log(red); // 1 출력
console.log(green); // 4 출력
console.log(blue); // 5 출력
console.log(others); // {orange: 2, yellow: 3, navy: 6, purple: 7} 출력
- 객체 구조분해할당 시 다른 변수명을 사용하고 싶은 경우, { 기존값 : 신규변수명 } 으로 사용한다
const animal = {
dog : "멍멍",
cat : "야옹",
tiger : "어흥",
};
const {dog:mongmong, cat:goyarmi, tiger} = animal;
// dog 값을 mongmong에 담고
// cat 값을 goyarmi 담고
// tiger는 그대로 사용
//console.log(dog); // error 출력
console.log(mongmong); // 멍멍 출력
//console.log(cat); // error 출력
console.log(goyarmi); // 야옹 출력
console.log(tiger); // 어흥 출력
3. 자바스크립트 옵셔널체이닝
- 옵셔널 체이닝
- 정의 : 객체(객체,배열,함수)의 속성값이 undefined인지 ?(물음표)로 손쉽게 확인하는 방식
- 사용법 : 객체 = obj?.prop / 배열 = arr?.[i] / 함수 = func?.()
// 객체에서 사용하기
const obj = {
name: "kimday"
};
console.log(obj?.name); // "kimday" 출력
console.log(obj?.age); // undefined
// 배열에서 사용하기
const arr = [1,2,3,4,5];
console.log(arr?.[1]); // 2 출력
console.log(arr?.[10]); // undefined"
4. 자바스크립트 try-catch-finally 문
- try - catch 문
- 정의 : 함수나 모듈 등을 동작 중 에러가 생기면 전체 파일이 멈추게 되는데, try{ }catch( ){ }문을 사용하면 에러가 발생해도 나머지 동작을 원활히 진행 함.
- 사용법 : try { ... 실행 할 내용... } catch(error) { ... 에러 발생 .... }
function arrShow(arr){
try {
arr.forEach((ele)=>{
console.log(ele);
});
} catch(error) {
console.error(error);
//거의 기본처럼 사용
}
}
const arr1 = ['a','b','c'];
const str = 'abc';
const arr2 = [1,2,3];
arrShow(arr1); //정상 출력
arrShow(str); // 에러 발생하고 지나감
arrShow(arr2); // 정상 출력

- try - catch - finally 문
- 정의 : try - catch 문에서 발전 된 것으로, 동작과 에러 발생에 상관없이 해당하는 문장이 모두 종료 된 이후에 가장 마지막에 finally문이 실 되는 것
- 사용법 : try { ... 실행 할 내용... } catch(error) { ... 에러 발생 .... } finally { ... 동작 / 에러에 상관 없이 실행 ... }
function arrShow(arr){
try {
arr.forEach((ele)=>{
console.log(ele);
});
} catch(error) {
console.error(error);
//거의 기본처럼 사용
} finally{
console.log("----- 종료 -----")
}
}
const arr1 = ['a','b','c'];
const str = 'abc';
const arr2 = [1,2,3];
arrShow(arr1); //정상 출력
arrShow(str); // 에러 발생하고 지나감
arrShow(arr2); // 정상 출력

📃 내일은 뭘 배울까 🤔
- 자바스크립트 함수 심화
- 자바스크립트 배열, 객체 심화
반응형
'코드잇 Node.js(BE) 부트 캠프 > TIL (Today I Learn) 📑' 카테고리의 다른 글
| [TIL] Day 12 - 커맨드(명령어) 사용하기, GitHub 기초 (0) | 2025.10.13 |
|---|---|
| [TIL] Day 11 - 자바스크립트 리퀘스트 작업(API Data 사용하기) (0) | 2025.10.02 |
| [TIL] Day 9 - Javascript 기초 2 : 함수, 내장함수, 다양한 문법 (0) | 2025.09.30 |
| [TIL] DAY 8 - Javascript 기초 1 (강의 복습) (0) | 2025.09.29 |
| [TIL] Day 7 - 비동기(Promise.all), 서버 통신(Ajax, Fetch, Axios) (5) | 2025.09.26 |