본문 바로가기
C++ 200제/코딩 IT 정보

TypeScript 강좌 9. Primitive(프리미티브) boolean

by vicddory 2020. 1. 18.

Primitive 타입

프로그램을 설명할 때 흔히 리터럴이라는 말이 나옵니다. 리터럴이란 것은 소스 코드의 고정된 값을 대표하는 용어(데이터 자료형)입니다. TypeScript에는 여러 종류가 있습니다.


  • boolean
  • number
  • string
  • 배열
  • 객체
  • 함수
  • undefined
  • null


이 가운데 더는 분해할 수 없는 단순한 데이터를 타입스크립트에선 "기본 형식, 원시형(Promitive 프리미티브)"이라고 합니다.

boolean 리터럴

타입스크립트 boolean 형은 true/false 두 논리 값을 표현하는 데이터 자료형입니다. if문, while 루프 등의 제어 구문과 삼항 연산자 등을 사용하여 Typescript 프로그램 동작을 제어하는 중요한 자료형입니다.


// 값을 표시

console.log(true);

console.log(false);


// 변수에 대입. 변수 자료형은 boolean

const flag: boolean = true;


// 다른 데이터 자료형으로 변경

console.log(flag.toString()); // 'true' / 'false' 표현

console.log(String(flag));    // 여기서도 변형 가능

console.log(Number(flag));    // 1 또는 0으로 표현


// 다른 데이터형을 true / false로 표현

const notEmpty = Boolean("test string"); // 변환 방법은 뒷부분에 적음

const flag = flagStr === 'true';         // 'true' 문자열을 true로 표현

const str = "not empty string";          // true/false 반전되지만 연산자 하나로 변환 가능

const isEmpty = !str;                    // 반전. !Boolean()과 같은 의미

const notEmpty = !!str;                  // 반전의 반전


TypeScript는 숫자 0(음수 포함), 빈 문자열, null, undefined, NaN을 변환하면 false, 그 이외를 변환하면 true 입니다.

다만, 파이썬은 빈 문자열이나 빈 배열은 false입니다. ruby는 숫자 0, 빈 문자열이 true입니다.



드모르간 법칙

if문 조건식이 복잡할 때 축약을 위해 사용하는 것이 드모르간 법칙입니다. 다음과 같은 법칙으로 NOT, AND, OR를 조합할 수 있습니다.


드모르간의 법칙


!(P || Q) == !P && !Q

!(P && Q) == !P || !Q


타입스크립트를 포함해 거의 모든 언어는 우변에서 좌변으로 대입해야 가독성이 높아진다고 생각합니다. 그리고 NOT 집합끼리의 연산은 실제로 ... 거의 사용하지 않을 겁니다. 집합의 AND/OR를 생각해서 반전하는 것이 더 쉬우니까요.


드모르간 법칙은 구성 요소가 많고 논리식 등 수식을 정리할 때 유용합니다.


... 미완성 글 입니다 ...



댓글