显式字符串别名类型

时间:2019-01-04 21:05:16

标签: typescript

我正在寻找一种使下面的代码失败的方法。

当我创建这些InOut类型时,我很想将任何字符串传递到usage中以强制转换为In。这可能吗?

type In = string;
type Out = string;

const usage = (x: In): Out => 'meow';

usage('hi');

1 个答案:

答案 0 :(得分:0)

为此,我们可能必须创建自己的类型而不是使用字符串类型。 ts中的type关键字只是所使用类型的别名,更多详细信息-

https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#3.10

所以上面的代码与:

const usage = (x: string): string=> 'meow';

如果您正在寻找某种方法,该方法需要某些具有字符串属性的对象;

type In = {text:string};
type Out = string;

const usage = (x: In): Out => 'meow';
const data: In = { text: 'value' };
usage(data);