generated at
string literalの判定

K extends ${infer _} を使う
ここで見た
K extends ${any}でもいい
ここで見た
どちらかと言うと、こっちのほうが良い気がするmrsekut


ts
type isStringLiteral<T> = T extends `${infer _}` ? true : false; type A1 = isStringLiteral<'foo'>; // true type A2 = isStringLiteral<2>; // false type A3 = isStringLiteral<string>; // false type A4 = isStringLiteral<number>; // false type A5 = isStringLiteral<[s: string]>; // false