typescript 打字稿函数示例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typescript 打字稿函数示例相关的知识,希望对你有一定的参考价值。
const double = (x: number) => x * 2;
const hello = (x: string) => `Hello ${x}`;
const conversion = (x: number) => `Hello ${x.toString()}`;
interface Mappable<T> {
map: <R>(fn: (x: T) => R) => Mappable<R>;
valueOf: () => T;
}
const identity = <T>(value: T): Mappable<T> => ({
map: <R>(fn: (x: T) => R): Mappable<R> => identity(fn(value)),
valueOf: () => value,
});
const a = identity(3);
const b = a.map(double);
const vB = b.valueOf();
console.log(vB); // 6
const c = identity('cat');
const d = c.map(double); // COMPILE TIME ERROR
const vD = d.valueOf();
console.log(vD);
const e = c.map(hello);
const vE = e.valueOf();
console.log(vE); // Hello cat
const f = a.map(conversion);
const vF = f.valueOf();
console.log(vF); // Hello 3
const g = a.map(double).map(conversion);
const gF = g.valueOf();
console.log(gF); // Hello 6
以上是关于typescript 打字稿函数示例的主要内容,如果未能解决你的问题,请参考以下文章
typescript 打字稿泛型示例
typescript 打字稿工厂示例
typescript 打字稿对象示例
typescript 打字稿类示例
typescript 打字稿索引签名示例
typescript 打字稿备忘单 - 语法功能和示例