Skip to content

Latest commit

 

History

History

0529-Absolute-medium

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

0529 Absolute

关键词: TypeScript, TypeChallenge

实现一个Absolute类, 接受一个数字类型作为参数, 返回其绝对值的string表示对应的类型

举个栗子

type Test = -100;
type Result = Absolute<Test>; // expected to be "100"(a string)

答案

type Absolute<T extends number> = `${T}` extends `-${infer N}` ? N : `${T}`;

分析

我们只需要将数字转化成字符串, 负数前面有一个负号, 去除之即为答案:

type Absolute<T extends number> = `${T}` extends `-${infer N}` ? N : `${T}`;