memostack
article thumbnail
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형

Typescript 기본 타입

Typescript에서 사용할 수 있는 기본 타입은 아래와 같다

  • number: 정수, 소수 등 숫자 타입
  • string: 문자열 타입
  • boolean: 불리안 타입 (참, 거짓)
  • object: 객체 타입
  • symbol: 심볼 타입
  • enum: enum 타입
  • any: any 타입은 모든 기본 타입의 상위 타입
  • tuple: tuple 타입
  • ...

 

Typescript 타입

 

 

숫자 타입 (number)

숫자 타입은 정수(양수, 0, 음수), 소수 값을 할당할 수 있다. 키워드는 number를 사용한다.

let numValue: number;
numValue = 3;
console.log(numValue); // 3

numValue = 3.14;
console.log(numValue); // 3.14

 

쉼표를 이용하여 여러 타입을 한번에 선언 및 할당을 할 수도 있다.

let counter: number = 0;
let x: number = 100,
    y: number = 200;

 

참고. 2진수

0b 또는 0B를 사용하여 이진수를 표현할 수 있음

let bin = 0b100;
let anotherBin: number = 0B010;

 

참고. 8진수

0o를 사용하여 8진수를 표현할 수 있음

let octal: number = 0o10;

 

참고. 16진수

0X 또는 0x를 사용하여 16진수를 표현할 수 있음

let hexadecimal: number = 0XA;

 

문자열 타입 (string)

문자열 타입으로 키워드는 string을 사용한다. 쌍따옴표, 홑따옴표, backtick을 이용하여 문자열을 포함할 수 있다.

backtick을 이용하면 여러줄의 문자열을 편하게 표현할 수 있다.

let strValue: string;
strValue = "hello world";
console.log(strValue); // hello world

strValue = 'hello world';
console.log(strValue); // hello world

const myName: string = "Hong";
strValue = `hello
world
${myName}`;
console.log(strValue);
// hello
// world
// Hong

 

불리안 타입 (boolean)

불리안 타입은 참(true), 거짓(false)의 값만 할당이 가능하다. 키워드는 boolean을 사용한다.

let boolValue: boolean;
boolValue = true;
console.log(boolValue);

boolValue = false;
console.log(boolValue);

 

객체 타입 (object)

객체 타입은 맵, 배열 등을 표현할 때 사용한다. 키워드는 object를 사용한다.

let objValue: object;
objValue = { name: "hong", age: 30 };
console.log(objValue); // { name: 'hong', age: 30 }

objValue = ["hello", "world"];
console.log(objValue); // [ 'hello', 'world' ]

objValue = new String(2022);
console.log(objValue); // [String: '2022']

 

배열 원소 타입 지정

배열의 경우 원소의 타입을 지정할 수 있다. type[] 과 같이 표현한다.

 

숫자 배열

let numList: number[];
numList = [1, 2, 3, 4, 5, 6];
numList.push(7);
console.log(numList);

 

문자열 배열

const nameList: string[] = ["Bruno Mars", "Adele", "Christina Maria Aguilera"];
console.log(nameList);

 

숫자와 문자열을 혼합하고 싶은 경우, (typeA | typeB)[] 와 같이 표현한다.

const myList: (string | number)[] = [1, 2, "Bruno Mars", 3, 4, "Adele", 5, "Christina Maria Aguilera", 6];

 

맵 자료형의 속성 타입 지정

맵 자료형의 경우는 속성 값의 타입을 지정할 수 있다.

let user: { name: string, age: number };
user = {
    name: "hong",
    age: 30,
};
console.log(user);

 

심볼 타입 (symbol)

심볼은 유니크한 값을 생성할때 사용한다. 심볼을 생성할때는 Symbol을 사용하고, 타입을 표현할 때 키워드는 symbol를 사용한다.

let symbolValue: symbol;
symbolValue = Symbol("Apple");
console.log(symbolValue); // Symbol(Apple)

 

Enum 타입

enum 키워드를 이용하여 enum 타입을 생성할 수 있다.

enum Month {
    Jan,
    Feb,
    Mar,
    Apr,
    May,
    Jun,
    Jul,
    Aug,
    Sep,
    Oct,
    Nov,
    Dec
};

function isItSummer(month: Month) { ... }

 

any 타입

모든 타입의 상위 타입으로 any 타입의 변수에는 모든 타입의 값이 할당될 수 있다.

let myAnyVar: any = 10;
myAnyVar = 'hello world';
myAnyVar = ['hello', 'world'];
myAnyVar = { name: 'hong', age: 30};
myAnyVar = null;
myAnyVar = undefined;

 

튜플 타입

순서대로 배열 원소의 타입을 지정할 수 있다.

let tuple: [number, string];
tuple = [2022, "year"];
console.log(tuple);

 

let dateTuple: [number, number, number, string];
dateTuple = [2022, 5, 12, "수"];
console.log(dateTuple);
반응형
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
profile

memostack

@bluemiv_mm

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!