[TIL]200728 조건문

Chaegyeom·2020년 8월 26일
0

TIL

목록 보기
2/77
post-thumbnail

조건문을 사용할때는 boolean 타입에 대한 이해가 중요하고 비교연산자가 필요하다

비교연산자는 아래의 표와 같다

기호설명
<, >초과, 미만
<=, >=이상, 이하
===같다(수학에서의 =)
!==다르다

기호설명
==같다
!=다르다

이 비교 연산자는 타입에 대해서 엄격하게 판단하지 않는다. 예시는 아래와 같다

1 == '1'
true /// 숫자 1과 문자열 1을 타입에 대해 엄격하게 검사하지 않으므로 true가 된다
'true' == true
true /// 문자열 true와 boolean타입 true에 대해서도 타입에 대해 검사하지 않으므로 true가 나온다


==혹은 !=인 경우 어떨 때 true와 false에 해당하는지 나타낸 테이블


조건문은

if(조건1) {
 // 조건1이 통과할 경우
 } else if(조건2) {
 // 조건1이 통과하지 않고
 // 조건2가 통과하는 경우
 } else {
 // 모든 조건이 통과하지 않는 경우
}

과 같이 사용할 수 있다. 조건에는 Boolean으로 결과가 나오는 비교구문이 들어간다

펼치기

조건문에서 어떻게 값을 반환하여 나타낼 수 있는지를 몰라서 혼자서 한참 고민했었는데 첫날 배웠던 return으로 조건문에 대한 값을 반환할 수 있었다.

두가지 조건이 한번에 적용되는 경우에는 논리연산자(Logical Operator)를 사용한다

// 학생이 아니면서, 여성일 때 통과
!isStudent && isFemale;
// ! 는 turhy와 falsy를 반전시킨다
펼치기

NOT연산자를 조금만 더 자세히 봤다면 조건문을 많이 쓰지 않고도 문제를 해결할 수 있었다.


기억해야할 falsy값 6개가 있는데, 아래와 같다.

If (false)
If (null)
If (undefined)
If (0)
If (NaN) ///not a number
if(‘’) ///빈 string
펼치기

NaN의 경우 isNaN()의 매개변수가 숫자인지 검사하는 함수로 검출할 수 있었다.

a === NaN ///이때는 검출되지 않는다
isNaN(a) === true ///일 때, 검출된다

이 외에도 Math.floor 소수점 아래를 버리는 함수, Math.abs 절대값을 구하는 함수

str.slice, str.length를 적절히 사용하여 문제를 풀 수 있었다.

마지막으로, Boolean값을 결과로 나타내야 하는 경우에는 조건문을 쓰지 않고 바로 return을 통해서 결과값을 나타낼 수 있다

profile
주니어 개발자가 되고싶은

0개의 댓글