함수 매개변수로 if문,for문,swich문을 받을 수 있을까?
- 없다 . 그 이유는?
- 값이 들어가야지 식이 들어가면 안된다.
- 그럼 삼항연산자는 들어가도 되낭?
- 된다. 그 이유는? 조건문이 있으나 값으로 귀결하기 때문에
삼항연산자 다루기.
- 숏코딩보다 일관성이 더 중요하다.
-3개의 피연산자를 취해 아래의 형식으로 나타낸다.
조건 ? 참 : 거짓
case2 - ?과 참,거짓을 기준으로 indent나누고 괄호 활용하기
const example = condition1
? ((a === 0) ? 'zero' : 'positive')
: 'negative'
case3 - null일때
const welcomeMessage = (isLogin) => {
const name = isLogin ? getName() : '이름없음';
return `안녕하세요 ${name}`;
};
case4 - 반환이 없는 값을 사용할때 (bad)
function alertMessage(isAdult){
isAdult
? alert("입장이 가능합니다.") //undefined
: alert("입장이 불가능합니다.")//undefined
}
- alert함수는 void 즉 반환을 하지 않는 함수이다.
- 그렇기 때문에 숏코딩을 위해 억지로 쓰기 보단 if문을 쓰는 편이 낫다.
case4 - 조건에 참값만 필요하든지 거짓값만 필요할땐 삼항연산자보다 truthy & falsy를 활용하자.
Truthy $ Falsy
- 참같은 값
if (true)
if ({})
if ([])
if (42)
if ("0")
if ("false")
if (new Date())
if (-42)
if (12n)
if (3.14)
if (-3.14)
if (Infinity)
if (-Infinity)
- 거짓같은 값
if (false)
if (null)
if (undefined)
if (0)
if (-0)
if (0n)
if (NaN)
if ("")
- 거짓같은 값을 활용하여 다채롭게 활용하고 로직을 간단하게 응용한다.
function printName(name){
if(name === undefined || name === null){
return '사람이 없네요.'
}
return `안녕하세요. ${name}님`
}
// null과 undefined가 falsy인 것을 이용해서 리펙토링한 기능
function printName(name){
if(!name){
return '사람이 없네요.'
}
return `안녕하세요. ${name}님`
}
이 글은 https://www.udemy.com/course/clean-code-js 클린코드 강의를 보고 작성한 글입니다.
'개발언어 > javascript' 카테고리의 다른 글
변수명 이름 표기법 (0) | 2023.01.02 |
---|---|
[CleanCode] else을 왜 지양할까? (0) | 2022.12.10 |
이중 for문 흐름 이해하기 (0) | 2022.12.10 |
데이터 타입 검사 ( 원시타입과 객체타입에 따른) (0) | 2022.12.07 |
댓글