Typescript 意外的部分行为

Typescript 意外的部分行为,typescript,Typescript,需要帮助了解此代码中的类型发生了什么: interface UserDTO { id: string; email: string; } const input: Partial<UserDTO> = {}; const userDTO: Partial<UserDTO> = { id: "", ...input }; const email = userDTO.email; interface UserDTO{ id:字符串; 电子邮件

需要帮助了解此代码中的类型发生了什么:

interface UserDTO {
  id: string;
  email: string;
}

const input: Partial<UserDTO> = {};
const userDTO: Partial<UserDTO> = { id: "", ...input };

const email = userDTO.email;
interface UserDTO{
id:字符串;
电子邮件:字符串;
}
常量输入:部分={};
const userDTO:Partial={id:,…input};
const email=userDTO.email;

我希望
email
变量的类型为
string |未定义
但得到的却是
string
。我做错了什么?

您似乎需要启用
stricknullchecks
选项

看一看

一切正常