Typescript-2 (Basic types)

Patrick·2021년 4월 18일
0

Typescript

목록 보기
2/2
post-thumbnail

조금 베이직한 기본타입에 대한 정리를 먼저 해보고 진행해보려고 한다.

바로 원시타입과 오브젝트 타입에 관한 것이다.

Typescript에 대한 이미지를 찾아보셨던 분들이라면 이런 것을 많이 보셨을 것이다.

즉, typescript는 자바스크립트를 내포하고 있는 것이다.

그러니 자바스크립트에 대한 언급이 계속 될 것이며, 자바스크립트와 비교도 될것이고, 비슷한 점도 볼 수 있을것이다.

이렇게 내포하는만큼 타입스크립트를 공부하기 전에 알아야하는것이 자바스크립트이다.


자바스크립트에는 원시타입과 오브젝트 타입이 있다.

Primitive type

우리가 흔히 말하는 원시타입 즉, Primitive type의 종류로는 총 6가지를 가진다.
그 종류로는 아래와 같은 것이 있다.

number, string, boolean, symbol, null, undefined

number

const num:number = -5;

string

const str:string = "Hello world";

boolean

const bool:boolean = true;

undefiend

  let age: number | undefined;
  age = undefined;
  age = 1;

  function find(): number | undefined {
    return 1
    // or
    return undefined
  }

null

let person2: string | null;

unknown
어떤 종류의 데이터가 담길지 알 수 없다!
그래서 number, string, boolean 다 담길 수 있다
그러나 가능하면 사용하지 말고 구체적인 데이터를 명시하는 것이 좋다!

let notSure: unknown = 0;
notSure = 'Hi';
notSure = true;

any
number, string 등 무엇이든 할당 할 수 있다.
unkown처럼 가능하면 사용하지 말고 구체적인 데이터를 명시하는 것이 좋다

let anything:any = 0
anything = 'HELLO'

void
함수에서 아무것도 return 하지 않는 것(텅텅 빈?)을 말한다.
변수에 선언되는 것은 극히 드물다
=> undefined 밖에 선언 할 수 없어서 활용이 떨어진다

function print(): void {
    console.log('Hello');
    return;
  }

let unusable: void = undefined // 

never
Application에서 예상치 못한, 핸들링 할 수 없는 문제가 발생했을 때 실행 할 수 있는 함수이다.
이는 다른 것을 return 할 수 없다.

function throwError(message: string): never {
    // message -> server에 log를 남기고,
    throw new Error(message); // Error를 던지게 하던지

or

while(true) {}
이렇게 while문을 돌면서 끝나지 않도록 작성해야한다

Object

Object는 간단히 말하면 key-value 저장소라고 할 수 있다.
원시타입이 아닌 것을 Object라고 할 수 있으며 이러한 개념들은 함수들과 배열들도 포함된다.

그래서 원시 타입을 제외한 어떠한 object나 Array를 넣을 수 있다
하지만 가능한 정확한 object를 명시해서 사용하는 것이 좋다

let obj: object;
    function appectSomeObject(obj: object) {}
    appectSomeObject({ name : 'DANIEL' })
    appectSomeObject({ animal : 'CAT' })
  }
profile
예술을 사랑하는 개발자

0개의 댓글