首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VS Code @typedef大写

VS Code @typedef大写
EN

Stack Overflow用户
提问于 2018-11-21 19:30:28
回答 1查看 236关注 0票数 0

我今天在处理一个非常小的JS文件时注意到,当稍后声明变量为该类型时,我定义的类型不允许intellisense。结果是,将Turns更改为大写字母可以解决这个问题。我的类型定义位于文件的顶部,而该类型的变量在IIFE中。

如果我将类型定义移动到IIFE中,那么不管类型名称的情况如何,它都能工作。但是,将类型定义保留在文件的顶部(在IIFE之外)并使名称大写也会使其工作。

大写类型定义是否使其成为全局的?

编辑:添加几个截图。用简单的例子来再现,这似乎是零星的。

不工作

工作中

EDIT_2:,它似乎与具有与类型定义完全相同的名称的变量有关。

代码语言:javascript
运行
复制
/**
 * An object that stores all the necessary contextual data
 * Defined inside the HTML file loaded for the alert
 * @typedef {Object} Test
 * @prop {Number} personId person_id of the patient
 */

(function() {
    /** @type {Test} */
    const Test = window.Test;
    Test
})();
EN

回答 1

Stack Overflow用户

发布于 2018-11-30 09:38:57

您应该将@typedef视为一个变量--一个只在类型声明中可用的变量。

这意味着您可以在本地作用域中覆盖该变量,因此它意味着其他的内容。

这正是你在这里要做的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53419297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档