less than 1 minute read


any

์•„๋ฌด ํƒ€์ž…์ด๋‚˜ ๋  ์ˆ˜ ์žˆ์Œ.

const anyArr: any[] = [1, 2, 3, 4];
const bArr: any = true;

// any๋Š” ์ด๋Ÿฐ ์‹์œผ๋กœ ๋ณดํ˜ธ์žฅ์น˜๋ฅผ ๋น„ํ™œ์„ฑํ™”์‹œํ‚ค๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
anyArr + bArr; // ํ—ˆ์šฉ๋จ

unknown

ex) API๋กœ๋ถ€ํ„ฐ ์‘๋‹ต์„ ๋ฐ›๋Š”๋ฐ ๊ทธ ์‘๋‹ต์˜ ํƒ€์ž…์„ ๋ชจ๋ฅธ๋‹ค๋ฉด unknown์ด๋ผ๋Š” ํƒ€์ž…์„ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

let unknownA: unknown;

let examB = unknownA + 1; // ๊ฒฝ๊ณ 

if (typeof unknownA === "number") {
  // ์ด ๋ฒ”์œ„ ์•ˆ์—์„œ๋Š” unknownA๊ฐ€ number์ด๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜ ์ž‘์—…์„ ํ—ˆ์šฉํ•จ.
  let examB = unknownA + 1;
}

unknownA.toUpperCase(); //๊ฒฝ๊ณ 

if (typeof unknownA === "string") {
  // ์ด ๋ฒ”์œ„ ์•ˆ์—์„œ๋Š” unknownA๊ฐ€ string์ด๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜ ์ž‘์—…์„ ํ—ˆ์šฉํ•จ.
  unknownA.toUpperCase();
}

void

void๋Š” ์•„๋ฌด๊ฒƒ๋„ ๋ฆฌํ„ดํ•˜์ง€ ์•Š๋Š” ํ•จ์ˆ˜๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์‚ฌ์šฉ

// Typescript๋Š” ์ด ํ•จ์ˆ˜๊ฐ€ ์•„๋ฌด๊ฒƒ๋„ returnํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์ž๋™์œผ๋กœ ์ธ์‹.
function hello() {
  console.log("hello");
}

const funcA = hello();
funcA.toUpperCase();

never

ํ•จ์ˆ˜๊ฐ€ ์ ˆ๋Œ€ returnํ•˜์ง€ ์•Š์„ ๋•Œ ๋ฐœ์ƒ

function helloWorld(): never {
  throw new Error("hello");
}

function hello2(name: string | number) {
  if (typeof name === "string") {
    return name.toUpperCase();
  } else if (typeof name === "number") {
    return name + 1;
  } else {
    // ํƒ€์ž…์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋“ค์–ด์™”๋‹ค๋ฉด, ์ด ์Šค์ฝ”ํ”„ ๋‚ด์˜ ์ฝ”๋“œ๋Š” ์ ˆ๋Œ€ ์‹คํ–‰๋˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค
  }
}

Leave a comment