티스토리 뷰
목차
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를 생각해서 반전하는 것이 더 쉬우니까요.
드모르간 법칙은 구성 요소가 많고 논리식 등 수식을 정리할 때 유용합니다.
... 미완성 글 입니다 ...