혼공스 2장

슬기로운 FE 세상·2022년 1월 7일
2

불 자료형

불 만들기

자바스크립트에서는 참과 거짓을 표현할 때 불 자료형을 사용합니다. 불 자료형의 표현 방식은 true와 false 2가지 입니다.

단순하게 true와 false를 입력하면 만들 수 있습니다.

=== : 양쪽이 같다
!== : 양쪽이 다르다
> : 왼쪽이 더 크다
< :  오른쪽이 더 크다
>= : 왼쪽이 더 크거나 같다.
<= : 오른쪽이 더 크거나 같다.
52 > 273 // false

52 < 273 // true

10 === 10 // true

'가방' > '하마' // false

왜 가방은 하마보다 작을까? 고것은 사전식으로 정렬을 하기 때문!

불 자료형은 언제 사용할까요? 그것의 예로 조건문을 사용해 보겠습니다.

if(273 < 52) {
    alert('273은 52보다 작습니다.')
}
if (273 > 52) {
    alert('273은 52보다 큽니다.')
}

이런 경우 당연히 저희의 상식대로 '273은 52보다 큽니다.'가 출력이 됩니다. 이와 같은 형태로 조건문에 많이 활용이 됩니다.

여기서 잠깐! 연산자는 단항 , 이항 , 삼항 연산자로 구분을 합니다. 여기서 단항, 이항, 삼항 연산자란

!true // 피연산자가 true로 1개 -> 단항 연산자

10 + 20 // 피 연산자가 10가 20으로 2개 -> 이항 연산자

true ? 10 : 20 // 피 연산자가 true, 10, 20으로 3개 -> 3항 연산자

불 논리합/논리곱 연산자

불에는 논리합 연산자와 논리곱 연산자를 적용할 수 있습니다.

논리곱 연산자란 &&을 의미하며 논리합 연산자는 ||을 의미합니다.

&& 연산자는 양쪽 변의 값이 모두 true일 때 true를 결과로 냅니다. 반면 || 연산자는 양쪽 변의 값 중 하나만 true여도 true로 결과를 냅니다.

&&                                           ||
true true true                         true true true   
true false false                       true false true
false true false                       false true true
false false false                      false true false

단축평가

논리합(||) 또는 논리곱(&&) 연산자는 언제나 2개의 피연산자 중 한쪽으로 표현이 됩니다.

'Cat' && 'Dog' // 'Dog'

논리곱(&&) 연산자는 두 개의 피연산자가 모두 true로 평가될 때 true를 반환합니다. 첫 번째 피연산자만을 보고는 평가할 수 없습니다.

따라서 두 번째 피연산자가 논리곱의 평가결과를 결정하며, 논리 연산의 결과를 결정하는 두 번째 피연산자 'Dog'를 그대로 반환합니다.

논리합(||) 연산자는 두 개의 피연산자 중 하나만 true로 평가되어도 true를 반환하기 때문에 두 번째 피연산자를 평가하지 않아도

표현식을 평가할 수 있습니다. 따라서 논리합 연산자는 논리 연산의 결과를 결정한 첫 번째 피연산자 문자열 'Cat'을 그대로 반환합니다.

'Cat || 'Dog' // 'Cat'

논리곱(&&) 연산자와 논리합(||) 연산자는 논리 연산의 결과를 결정하는 피연산자를 타입 변환하지 않고 그대로 반환하는데, 이를 단축평가라

합니다. 단축 평가는 표현식을 평가하는 도중에 평가 결과가 확정된 경우 나머지 평가 과정을 생략하는 것을 말합니다.

자료형 검사

자바스크립트는 숫자, 문자열, 불 같은 자료형을 확인할 때 typeof 연산자를 사용합니다. 이는 피연산자를 1개만 갖는 단항 연산자입니다.

typeof('문자열') // "string"

typeof(273) // "number"

typeof(true) // "boolean"

typeof 연산자는 다음과 같이 문자열과 비교해서 자료형을 확인하는 경우가 많습니다.

typeof 10 === 'number' // True

여기서 10에 적용이 되는지, 10 ==='number'의 결과인 false에 적용되는지 구분하기가 쉽지 않기 때문에 일반적으로 typeof 연산자는 괄호를

사용합니다.

템플릿 문자열

과거엔 문자열 내부에 표현식을 사용할 때 +을 사용하였으나 최근엔 템플릿 문자열이라는 기능을 추가하여 간단히 사용합니다.

console.log(`저의 나이는 ${20 + 10} 입니다. . .!!`)
profile
자 드가자~~

1개의 댓글