说我们正在尝试实现Pick
mapped-type:
type Pick<T, K extends keyof T> = {
[P in K]: T[P];
};
我们应该期望由此构建的任何类型都符合某种打字稿编译时检查。有办法测试吗?使用测试框架还是其他方式?
type Foo = { foo: string, bar: string };
type TestType = Pick<Foo, 'foo'>;
// expect this to fail at compile time because of property 'bar'
let foo: TestType = { foo: 'foo', bar: 'bar' };