V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
madaosan
V2EX  ›  TypeScript

ts 如何访问一个"未定义"的值

  •  
  •   madaosan · 2020-04-18 17:32:06 +08:00 · 2161 次点击
    这是一个创建于 1688 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在写一个网站的用户脚本 这个网站会初始化一个值 比如 window.foo

    因为这个 window.foo 没有在脚本中定义 所以 ts 直接访问的话编译时会提示 window 中不存在该属性

    但是这个值是的确存在的

    所以有没有什么办法可以让脚本访问到这个值呢

    5 条回复    2020-05-06 10:08:59 +08:00
    seki
        1
    seki  
       2020-04-18 17:34:20 +08:00
    给 window interface 添加一个属性

    interface Window {
    foo: string;
    }
    madaosan
        2
    madaosan  
    OP
       2020-04-18 17:38:27 +08:00
    @seki

    原来如此 我懂了 感谢大佬
    jifengg
        3
    jifengg  
       2020-04-18 17:52:58 +08:00
    好像也可以这么访问,window["foo"],但是就失去类型了。用 interface 比较好
    chengxy
        4
    chengxy  
       2020-04-23 08:59:53 +08:00
    window?.foo
    gromit1337
        5
    gromit1337  
       2020-05-06 10:08:59 +08:00
    @chengxy #4 这个语法糖是避免左边值为空
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2682 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 09:41 · PVG 17:41 · LAX 01:41 · JFK 04:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.