【发布时间】:2020-02-09 16:13:52
【问题描述】:
我想从客户端创建一个名称作为参数的用户,并在服务器上分配created。因此我使用Pick<User, "name">。但是 Typescript 并没有抱怨,当我将完整的 User 对象传递给该函数时:
interface User {
name: string;
created: Date;
}
const user: User = {
name: "Test User",
created: new Date()
};
const createUser = (user: Pick<User, "name">): User => ({
name: user.name,
created: new Date()
});
const newUser1 = createUser(user); // No error
const newUser2 = createUser({
name: "Another Test User",
created: new Date() // Error
});
沙盒:https://codesandbox.io/s/unruffled-wave-tewh8
我希望这两种情况都会引发错误,但第一种情况不会引发。为什么?
【问题讨论】:
-
有趣...以前从未见过Pick...typescriptlang.org/docs/handbook/utility-types.html#picktk
标签: typescript