패스트캠퍼스 프론트엔드 인강 10일차 함수의 기본 파라미터와 조건문을 더 스마트하게 쓰는방법을 배워보았다.
함수를 호출하게될때 원래 넣어야할 파라미터를 넣지않게됬을때 기본값을 지정하는 방법
예) 원의 넓이를 구하는 함수
function cal(r){
return Math.PI * r * r;
}
//const area = cal(1);
const area = cal();
console.log(area)
단축평가논리계산법을 활용하면 이를 해결할수있다.
function cal(r){
const radius = r || 1;
return Math.PI * radius * radius;
}
const area = cal();
console.log(area)
하지만 더 간단한 방법이있다.
function cal(r=1){
return Math.PI * r * r;
}
const area = cal();
console.log(area)
기본값을 1을 사용하겠다는뜻
화살표함수로도 사용할수있다.
const cal = (r=1) => Math.PI * r * r
const area = cal()
console.log(area)
조건문활용: 특정값이 여러값중에 하나인지 확인하는방법
function isAnimal(text){
return text === '고양이' || text === '개' || text === '너구리'
}
console.log(isAnimal('개'))
console.log(isAnimal('노트북'))
isAnimal에 파라미터값이 고양이이거나 개이거나 너구리일경우는 true
isAnimal에 파라미터값이 다른내용일경우는 false가 뜨게하는 함수이다.
더쉽게 작성하는 방법이있다.
function isAnimal(text){
const animals = ['고양이', '개', '거북이', '너구리']
return animals.includes(text)
}
console.log(isAnimal('개'))
console.log(isAnimal('노트북'))
배열 내장함수인 includes를 사용하면 된다.
화살표함수로 표현하면 코드가 더 짧아진다. 코드가짧으면서도 읽엇을때 어떤역할을하는지 알수있어야 좋은코드임을 명심하자
const isAnimal = text => ['고양이', '개', '거북이', '너구리'].includes(text)
console.log(isAnimal('개'))
console.log(isAnimal('노트북'))
다른예시
만약 주어진값에따라 다른결과물을 반환해야하는 상황
function getSound(animal){
if(animal === '개') return '멍멍!'
if(animal === '고양이') return '야옹!'
return '...?'
}
console.log(getSound('사람'))
if문 {} 도 생략가능하다
if문을 남발하는것은 좋지않은 코드이다 이는 객체를 활용해 해결가능하다.
function getSound(animal){
const sounds= {
개:'멍멍',
고양이 : '야옹'
}
return sounds[animal] || '...?' //단축평가논리계산법
}
console.log(getSound('사람'))
function makeSound(animal){
const tasks = {
개: () =>{console.log('멍멍'},
고양이(){
console.log('야옹')
},
비둘기 : function(){
console.log('구구')
}
}
if(!tasks[animal]){
console.log('...?')
return;
}
tasks[animal]();
}
makeSound('사람')
이런식으로 객체를 활용하면 보기좋은 코드가 된다.
프론트엔드 개발 올인원 패키지 with React Online. | 패스트캠퍼스
성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.
www.fastcampus.co.kr
반응형
'Frontend' 카테고리의 다른 글
[패스트캠퍼스 수강 후기] 프론트엔드 인강 100% 환급 챌린지 12회차 미션 (0) | 2020.08.21 |
---|---|
[패스트캠퍼스 수강 후기] 프론트엔드 인강 100% 환급 챌린지 11회차 미션 (0) | 2020.08.20 |
[패스트캠퍼스 수강 후기] 프론트엔드 인강 100% 환급 챌린지 9회차 미션 (0) | 2020.08.18 |
[패스트캠퍼스 수강 후기] 프론트엔드 인강 100% 환급 챌린지 8회차 미션 (0) | 2020.08.17 |
[패스트캠퍼스 수강 후기] 프론트엔드 인강 100% 환급 챌린지 7회차 미션 (0) | 2020.08.16 |