Giting.
낮의 Giting

메뉴판 › 타입스크립트 에러 사전 › 좁히기·유니온 › 'up'을 넣었는데 string이라 안 받아줘요

error TS2345: Argument of type 'string' is not assignable to parameter of type '"up" | "down"'.

전

function move(dir: "up" | "down") {}
const d = "up";
move(d);  // d 는 string 으로 추론

후

const d = "up" as const;
move(d);
왜 이렇게 되나
  • const 로 담은 문자열이 넓은 string 으로 추론돼, 리터럴 유니온 인자에 안 맞는다
됐는지 보는 법

값이 요구 타입으로 좁혀지고 빨간 줄이 없으면 성공.

같은 묶음 · 좁히기·유니온