【发布时间】:2017-11-26 16:26:56
【问题描述】:
我有以下 TypeScript 界面
interface ICookieOptions
{
name?:string;
value?:string;
secure?:boolean;
session?: boolean;
sameSite?: boolean;
}
和下面的类
class Cookie
{
constructor(nameOrOptions: string | ICookieOptions)
{ [...]}
}
现在我可以做到以下几点:
var testOptions =
{
name:"abc",
value:"def"
secure: false,
session: true,
sameSite: true
};
new Cookie(testOptions);
new Cookie(123);
并且没有错误。
我认为这是因为 ICookieOptions 中的所有元素都是可选的。
一旦我删除? in name?,它在构造函数上输出一个带有数字的错误。
现在:如何将 ICookieOptions 的所有元素设为可选,并限制 ICookieOptions 到“对象”类型的变量(不是数字、布尔值等)?
【问题讨论】:
-
我之前看到过这个问题,但我找不到将其用作欺骗目标。但是,这应该可以回答您的问题:stackoverflow.com/a/28122837/6680611