본문 바로가기
프론트엔드/TypeScript

Primitive Type 1 (Boolean, Number, String Symbol)

by step 1 2021. 6. 10.
반응형
  • 오브젝트와 레퍼런스 형태가 안니 실제 값을 저장하는 자료형
  • 프리미티브 형의 내장 함수를 사용한 것은 자바스크립트 처리 방식 덕분
  • (ES2015 기준) 6가지: boolean, number, String, symbol(ES2015), null, undefined
  • literal 값으로 Primitive 타입의 서브 타입을 나타낼 수 있다.

 

Boolean

아래와 같이 (TypeScript 파일을 작성)

let isDone: boolean = false;

isDone = true;

console.log(typeof isDone);

터미널에 명령어: npx tsc 입력 (같은 이름의 js파일이 생성됨)

명령어 node boolean.js 입력(js파일이 실행, 콘솔 로그 찍히는 것을 확인)

Boolean 타입으로 선언

let isOk: Boolean = true;

// 에러발생
let isNotOk: boolean = new Boolean(true);

 

Number

  • JavaScript와 같이, TypeScript의 모든 숫자는 부동 소수점 값이다.
  • TypeScript는 16진수 및 10진수 리터럴 외에도, ECMAScript 2015에 도입된 2진수 및 8진수를 지원합니다.
  • NaN, 1_000_000과 같은 표기 가능
// 10진수
let decimal: number = 6;
console.log(decimal);
// 16진수
let hex: number = 0xf00d;
console.log(hex);
// 2진수
let binary: number = 0b1010;
console.log(binary);
// 8진수
let octal: number = 0o744;
console.log(octal);

let notANumber: number = NaN;
console.log(notANumber);

let underscoreNum: number = 1_000_000;
console.log(underscoreNum);

String

  • 다른 언어에서와 마찬가지로 텍스트 형식을 참조하기 위해 'String' 형식을 사용
  • JavaScript와 마찬가지로, TypeScript는 문자열 데이터를 둘러싸기 위해 큰 따옴표 (") 나, 작은 따옴표(')를 사용
let myName: string = 'Mark';
myName = "Anna";

Template String

  • 행에 걸쳐 있거나, 표현식을 넣을 수 있는 문자열
  • 이 문자열은 backtick(=backquote) 기호에 둘러쌓여 있다.
  • 포함된 표현식은 '${expr}' 와 같은 형태로 사용
let fullName: string = 'Mark Lee';
let age: number = 39;

let sentence: string = `Hello, My name is ${fullName}.

I'll be ${age + 1} years old next month.`;

console.log(sentence);

띄어쓰기와 변수명 입력 모두 가능

 

Symbol

  • ECMAScript 2015의 Symbol
  • new Symbol로 사용할 수 없다.
  • Symbol을 함수로 사용해서 symbol 타입을 만들어 낼 수 있다.

처음 사용할 경우 에러 발생

console.log(Symbol('foo'));

tsconfig.json 파일을 수정

다시 와서 확인하면 에러가 발생하지 않는다.

 

같은지 비교

console.log(Symbol("foo") === Symbol("foo")); // fasle

  • 프리미티브 타입의 값을 담아서 사용
  • 고유하고 수정불가능한 값으로 만들어준다.
  • 그래서 주로 접근을 제어하는데 쓰는 경우가 많았다.

심볼 타입에 데이터 넣는 방법

// 고유한 값 생성
const sym = Symbol();

const obj = {
  [sym]: "value"
}
console.log(obj[sym]);

반응형

'프론트엔드 > TypeScript' 카테고리의 다른 글

any  (0) 2021.06.15
Array  (0) 2021.06.14
object  (0) 2021.06.14
Undefined & Null  (0) 2021.06.14
Type Script 시작  (0) 2021.06.08