You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MDN文档返回类型是否默认非可选?CookieStore.get类型定义咨询

关于CookieStore.get返回类型的TS定义建议

结论先给:不能想当然认为MDN列出的所有返回值都必然存在,得结合规范和实际浏览器行为来定义可选属性。

  • MDN文档的标注不一定完全覆盖所有场景:它主要展示常规情况,但像cookie未设置某些属性(比如domain、expires)时,返回的对象里对应的字段就会缺失,MDN可能不会特意标注这些边缘情况。
  • 对照Web规范来看:CookieStore接口定义里,Cookie对象的expires、domain、path、secure、sameSite这些属性都是可选的——只有name和value是必须存在的。
  • 实际浏览器行为验证:测试主流浏览器会发现,当cookie没有指定domain、expires等属性时,调用get方法返回的对象里确实没有这些字段;如果找不到对应名称的cookie,还会返回undefined。

所以你写TS类型的时候,应该把可选属性加上?,同时要考虑get可能返回undefined的情况,示例类型如下:

interface Cookie {
  name: string;
  value: string;
  expires?: number;
  domain?: string;
  path?: string;
  secure?: boolean;
  sameSite?: "strict" | "lax" | "none";
}

interface CookieStore {
  get(name: string): Promise<Cookie | undefined>;
  // 你需要的其他方法可以继续补充
}

内容的提问来源于stack exchange,提问作者dwjohnston

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 13:18:16