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 | 31 |
Tags
- JS 개념
- react
- googleColaboratory
- 모던자바스크립트
- DB Browser
- Do it 자바스크립트 + 제이쿼리 입문
- Colaboratory 글자 깨짐
- 타자 게임 만들기
- 계산맞추기 게임
- intllij 내 Bean을 찾지 못해서 발생하는 오류
- 노드에 리액트 추가하기
- node.js로 로그인하기
- 모두의 파이썬
- 인프런
- 리액트
- 따라하며 배우는 노드 리액트 기본 강의
- Spring-Framework
- spring-boot
- Concurrently
- react오류
- You are importing createRoot from "react-dom" which is not supported. You should instead import it from "react-dom/client"
- ReactDOM.render is no longer supported in React 18. Use createRoot instead
- vs code 내 node
- 거북이 대포 게임
- 웹 게임을 만들며 배우는 리액트
- Python
- node.js 설치
- intellij
- props
- 자바스크립트
Archives
- Today
- Total
프로그래밍 삽질 중
모던 자바스크립트 핵심 가이드 03 함수 기본값 인수 본문
* 모던 자바스크립트 핵심 가이드(저자 알베르토 몬탈레시, 옮김 임지순/권영재) 복습
* 핵심 부분과 필요할 경우 문제도 수정해서 기재할 것
* 문제될 경우 삭제할 것
○ 함수 기본값 인수 이전 문제
- '기본값이 인수 목록의 끝이 아닌 시작 부분에 있도록 하려면'의 해결법
function world(city, country, continent) {
if(typeof country === 'undefined') {
country = 'Korea'; //기본값으로 대체
}
if(typeof continent === 'undefined') {
continent = 'Asia'; //기본값으로 대체
}
console.log(continent, country, city)
}
world("seoul"); //Aisa Korea seoul
world("tokyo", "Japan"); //Asia Japan tokyo
○ 함수 기본값 인수
function gamePrice(employee, user=100, server= 200) {
//user나 server에 값 할당하지 않으면 기본값으로 100, 200만 쓰임
return employee + user + server;
}
console.log(gamePrice(300)); //300 + 100 + 200 = 600
//문제점
//server에 500 넣고 싶음(총합 900 원함)
console.log(gamePrice(300, 500));
//500이 server가 아닌 user로 값이 들어감
//300 + 500 + 200 = 1000
//해결책 1 : user부분을 undefined
console.log(gamePrice(300, undefined, 500)); //300 + 100 + 500 = 900
해결책 2(디스트럭처링) 설명
- 함수의 인수를 객체로 만듦
- 함수를 호출하면 매개변수가 주어진 키에 맞춰 입력됨 -> 매개변수 순서에 대해 걱정할 필요 없음
//인수 객체를 빈 객체로 기본 설정하지 않고(즉 = {}로 만든 것) 선언함
function gamePrice({employee=0, user=100, server=200,} ={}) {
//user나 server에 값 할당하지 않으면 기본값으로 100, 200만 쓰임
return employee + user + server;
}
console.log(gamePrice(300)); //300 + 100 + 200 = 600
//문제점
//server에 500 넣고 싶음(총합 900 원함)
console.log(gamePrice(300, 500));
//500이 server가 아닌 user로 값이 들어감
//300 + 500 + 200 = 1000
//해결책 2 : 디스트럭처링(destructuring)
const bill = gamePrice({user: 100, server: 500})
console.log(bill); // 100 + 500(기본값인 100 + 200 = 300이 아님)
문제
function university(classRoom, stuendts=10, professor=1) {
return total = classRoom + students + professor;
}
//문제 classRoom = 50, stuendts = 20, professor = 5 지정, 총합 75 원함
//오류 발생
console.log(university(50, 20, 5));
해결방법
//해결방법
function university({classRoom, students=10, professor=1}={}) {
return total = classRoom + students + professor;
}
totalPeople = university({classRoom:50, students: 20, professor: 5})
console.log(totalPeople); //75
'과거 프로그래밍 자료들 > Javascript&typescript' 카테고리의 다른 글
모던 자바스크립트 핵심 가이드 05 문자열 메서드 (0) | 2022.05.16 |
---|---|
모던 자바스크립트 핵심 가이드 04 템플릿 리터럴 (0) | 2022.05.14 |
모던 자바스크립트 핵심 가이드 02 화살표 함수 (0) | 2022.05.12 |
모던 자바스크립트 핵심 가이드 01 var, let, const (0) | 2022.05.11 |
모던 자바스크립트 핵심 가이드 00 기초 정리 2 (0) | 2022.05.11 |