首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VS代码-代码助手和

VS代码-代码助手和
EN

Stack Overflow用户
提问于 2020-05-17 08:08:31
回答 1查看 170关注 0票数 0

我正在学习与代码,我不明白它给我的提示,而我的代码。这是巴赫斯-诺尔式的吗?

VS Code给出的提示与官方文档中的提示完全不同:

有人知道这个log(message?: any, ...optionalParams: any(): void)是什么意思吗?或者我在哪里可以找到密码指南呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-17 09:06:33

Visual代码使用TypeScript语言服务的ECMAScript编辑体验。换句话说,即使在编写ECMAScript时,Visual代码也将其视为(或更准确地说类似于)为TypeScript。它为所有表达式、变量、函数、参数、属性、方法等推断类型,并执行类型检查、重载解析等等。

为了成功地做到这一点,它使用TypeScript类型声明文件,包括ECMAScript标准库和标准Web (例如WebWorker、画布、XmlHTTPRequest、window等),以及您在代码中使用的任何库。(对于第三方代码,它使用自动类型获取,其中要么从@types NPM命名空间中获取模块内部提供的TypeScript类型声明文件,要么使用DefinitelyTyped项目。)它还使用来自JSDoc类型声明的类型信息

您在这里看到的只是普通的TypeScript函数声明语法,在本例中,我认为它来自于Node.js的类型声明文件,该文件发布在NPM包中,并作为DefinitelyTyped项目的一部分编写。

你可以找到types/node/globals.d.ts

/** *用换行符打印到stdout。*/ log(message?:any,...optionalParams: any[]):void;

意思是(大致):

  • 一个名为log的方法
  • 一个可选参数(?),名为message of type (:) any (意味着它可以是任何东西),后面跟着
  • rest参数() (即“删除”所有剩余参数的数组),名为([]) any类型数组的optionalParams
  • 不返回任何内容(返回类型为void)

注意,从它的外观来看,您得到的IntelliSense似乎来自@types/node包,并且是用于Node.js控制台的。

console.log([data][, …args]) 加在:0.1.100

用换行符打印到stdout。可以传递多个参数,第一个参数用作主消息,所有附加参数都用作类似于printf(3)的替换值(参数都传递给util.format())。

const = 5;console.log(' count:%d',count);// Prints: count: 5,to stdout console.log(' count:',count);// Prints: count: 5,to stdout

有关详细信息,请参阅util.format()

虽然您共享的文档屏幕截图绝对不是针对Node.js的,但似乎是针对某些web浏览器的。特别是,根据Node.js文档,您共享的文档屏幕快照中的第一个重载不受Node.js文档的支持(尽管如果您尝试使用它,它实际上也能工作)。

我不太清楚为什么要向您展示web项目的Node.js类型。那似乎是个窃听器。

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

https://stackoverflow.com/questions/61848774

复制
相关文章

相似问题

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