(6)JavaScript - 자료형 / 불린 (Boolean)

반응형

불 대수 (Boolean Algebra)

불 대수 (Boolean Algebra)는 일상적인 논리를 수학적으로 표현한 것이다.

 

▶ 일반적으로 수학을 할 때 쓰는 값은 숫자 (1,3,5,-1,3.14)는 불 대수에서 진리값(truth value)이라고 부른다.

진리값은 어떤 명제가 참(true)인지 false(거짓)인지를 나타내는 것이며

여기서 명제란 참(true), 거짓(false)이 확실한 문장이다.

그리고 평소 수학을 할 때 쓰는 연산(+ , - * /)들은 불 대수에서 AND, OR, NOT 세 가지 연산이 있다.

 

▶ 불 대수를 하려면 명제가 무엇인지 파악해야 한다.

' 1+1은 2이다 ' 는 참인 명제이고 ' 2는 1보다 작다 ' 는 거짓인 명제이다.

더 나아가 ' 1+1은 무엇인가? ' 는 질문이기에 명제가 아니며

' 짜장면보다 짬뽕이 맛있다 '는 명확하게 참과 거짓을 판단할 수 없는 주관적인 문장들도 명제가 아니다.

이번엔 연산에서 명제를 살펴보자

 

▼ AND 연산

AND연산은 두 명제가 모두 ture인지를 확인하는 것이다.

 

만약에 x라는 명제가 있고 y라는 명제가 있을 때, 두 명제 중 하나라도 거짓이라면 x AND y는 거짓이 된다.

첫 줄에 x, y가 모두 true 일 때 둘 다 참이므로 x AND y는 true이다.

두번째 줄에 x는 true, y는 false일 때 둘중 하나라도 false라면 x AND y는 false이다.

세번째 줄과 네번째 줄도 조건에 만족하지 않아 마찬가지로 false이다. 

 

▼ OR 연산

OR 연산은 두 명제 중 하나라도 true이면 x OR y는 true, 둘 다 거짓이면 false

 

x,y로 설명보다 예시로 보여주자면

[대한민국의 수도는 제주도이다 OR 대한민국의 수도는 서울이다.] 라고 할 때,

대한민국의 수도는 제주도이거나 서울이다 = 이 문장은 참이라고 볼 수있다.

 

[대한민국의 수도는 제주도이다 OR 대한민국의 수도는 부산이다.] 라고 할 때,

대한민국의 수도는 제주도이거나 부산이다 = 이 문장은 거짓이라고 볼 수있다.

 

▼ NOT 연산

반대로 뒤집어 주는 역할을 하며 말 그대로 참이면 거짓으로 만들어주고 거짓이면 참으로 만들어준다

 

[NOT 대한민국의 수도는 서울이다] 라고 할 때,

대한민국의 수도는 서울이 아니다 = 이 문장은 거짓라고 볼 수있다.

 

[NOT 2는 1보다 작다] 라고 할 때,

2는 1보다 작지 않다. = 이 문장은 참이라고 볼 수있다.

 

불린형 (Boolean)

자바스크립트에서 참과 거짓을 표현하는 자료형을 불린(Boolean) 이라고한다. 

 

▼ Boolean 예시(1)

여기 '2는 1보다 크다' 라는 true 명제와  ' 2는 1보다 작다' 라는 false 명제가 있다.

<script>
    // Boolean
    console.log(2>1);
    console.log(2<1);
</script>

 

실행해보면 다음과 같이 출력된다.

자바스크립트에서 불린의 두 값은 모두 소문자로 true와 false이다.

 

 

▼Boolean 예시(2)

가장 간단하게 쓸 수 있는 명제는 숫자 비교이다.

<script>
    // Boolean
    console.log(2>1);
    console.log(2<1);
    console.log(3 >= 2); /*3은 2보다 크거나 같다 */
    console.log(3 <= 3); /*3은 3보다 작거나 같다*/
    console.log(3 === 3); /*3은 3과 서로 일치하다*/
    console.log(3 !== 3); /*3은 3과 불일치하다*/
</script>

 

문자열도 비교해보자

<script>
    console.log('SeopE' === 'SeopE'); //'SeopE'와 'SeopE'는 같다 = true
    console.log('SeopE' === 'Seop2'); //'SeopE'와 'Seop2'는 같다 = false
    console.log('SeopE' !== 'SeopEE'); //'SeopE'와 'SeopEE'는 다르다 = true
</script>

 

 

어느 정도 알았으니 Boolean 연산에 대해 제대로 살펴보자

 

▼ Boolean AND연산자

AND 연산은 앰퍼샌트 기호(&) 두 개를 사용한다.

불 대수에서 했던것처럼 두 값이 true일때 true이다.

<script>	
    console.log(true && true);
    console.log(true && false);
    console.log(false && true);
    console.log(false && false);
</script>

 

AND 연산자의 결과는 다음과 같다

 

▼ Boolean OR연산자

OR연산은 세로 바 기호 ( | ) 두 개를 사용한다

불 대수에서 했던 것처럼 두 명제 중 하나라도 true이면 true, 둘 다 거짓이면 false이다.

<script>
    console.log(true || true);
    console.log(true || false);
    console.log(false || true);
    console.log(false || false);
</script>

 

OR 연산자의 결과는 다음과 같다

 

▼ Boolean NOT연산자

NOT연산자는 값 앞에 ( ! ) 느낌표를 사용한다.

불 대수에서 했던 것처럼 반대로 뒤집어 주는 역할을 하며 말 그대로 참이면 거짓으로 만들어주고

거짓이면 참으로 만들어준다

 

<script>
    console.log(!true);
    console.log(!false);    
</script>

 

NOT 연산자의 결과는 다음과 같다

작성한 값의 반대값이 출력 되었다.

 

참고로 NOT 연산은 다음과 같이 중첩해서 사용할 수있다.

<script>
    console.log(!!true);
    console.log(!!false);    
</script>

 

첫번째는 true의 반대의 반대 이므로 true가 출력될 것이고

두번째는 false의 반대의 반대 이므로 false가 출력 될 것이다.

 


★ GitHub 주소 (Boolean)

https://github.com/SeopE9611/JavaScript_soloPlay/blob/main/Basic/5-%EC%9E%90%EB%A3%8C%ED%98%95/3.boolean.html

 

JavaScript_soloPlay/Basic/5-자료형/3.boolean.html at main · SeopE9611/JavaScript_soloPlay

Contribute to SeopE9611/JavaScript_soloPlay development by creating an account on GitHub.

github.com

 

 

★notion 

https://www.notion.so/Boolean-7e143d28680347eb9d53f2fefe23712e

 

반응형