[TIL] Typescript - 기본 타입

9525 단어 typescriptTILTIL

number

const num: number = -6;  // 변수명 뒤에 ':'와 타입을 적어준다
const num: number = 'hi' // 타입을 적어줬기 때문에 다음과 같은 할당은 불가능하다

string

const str: string = 'Hello'

boolean

const boal: boolean = false;

undefined

let name: undefined;  // 이렇게 작성하면 다른 값을 할당할 수 없다
name = 'Hi';          // 처음에 undefined로 고정해버려서 할당할 시 오류가 발생하게 된다

let age: number | undefined; // 여기에는 number가 올 수도, undefined가 올 수도 있다
age = undefined;             // 위에서 정해준 타입중에 하나이므로 오류가 나지 않는다
age = 1;                     // 마찬가지로 오류가 나지 않는다.

function find(): number | undefined { // number Or undefined를 return한다
  return undefined;
}

null

let person: null;  // 이렇게 작성하면 다른 값을 할당할 수 없다
person = null;     // null이기 때문에 오류가 나지 않지만
person = 1;        // 다른 값을 할당할 때 오류가 생긴다

let person2: string | null; // 여기에는 string이 올 수도, null이 올 수도 있다
person = 'Dannie';          // undefined와 비슷해 보이는데, 보통 undefined를 많이 사용한다

unknown 💩

let notSure: unknown = 0;   // '알 수 없다'라는 뜻의 unknown
notSure = 'he';             // string도 할당이 가능하고
notSure = true;             // boolean도 할당이 가능하다

any 💩

let anything: any = 0;      // '어떤 것이든'이라는 뜻의 any
anything = 'hello';         // 무엇이든 할당할 수 있다

void

function print(): void {
  console.log('hello');  // 함수에서 아무것도 return하지 않으면 void를 붙여주거나 생략할 수 있다
}
let unusable: void = undefined; // 변수에 담아서 사용하면 undefined만 할당할 수 있다 💩

never

function throwError(message: string): never { // 아무것도 return하지 않을 때 명시하기 위해 사용
  // message -> server (log)
  throw new Error(message);
  while (true) {
  }
}
let neverEnding: never; // 이렇게 사용하는 경우는 없다 💩

object

let obj: object; // primitive 타입을 제외한 모든 object타입을 수용할 수 있다 💩
function acceptSomeObject(obj: object) {
}
acceptSomeObject({name: 'Dannie'}); // 어떠한 object든 수용 가능하기 때문에
acceptSomeObject({animal: 'dog'});  // 두 경우는 에러가 발생하지 않는다

좋은 웹페이지 즐겨찾기