JS新手求教。关于智能提示
javascript吧
全部回复
仅看楼主
level 1
一直搞的C/C#等,习惯了IDE的智能补全如图1图2,会根据对象类型列出属于该对象的方法。
最近业余研究研究JS,但是有点差异,就比如这个补全,就不太友好。如图345。用的VSCODE。IDE不确定该对象是个什么类型,也就不会自动提示属于它的方法,老手可能常用的都记住了,新来的可能就全得靠百度靠查。
不知道有没有什么插件能实现这个功能,或者其他的IDE
2024年09月27日 01点09分 1
level 1
[惊讶]
2024年09月27日 05点09分 2
level 1
[泪]
2024年09月27日 06点09分 3
level 11
用typescript可以解决问题
2024年09月27日 08点09分 4
了解了下,挺有用的。感谢指路
2024年09月29日 05点09分
level 2
上ts吧,如果只是为了智能提示,只学怎么声明类型就行了,复杂的不用学
2024年09月27日 21点09分 5
搜了搜ts确实有用,感谢指路
2024年09月29日 05点09分
level 13
这些都是因为 js 是弱类型语言造成的。
有一些函数返回的类型不是唯一的,可以不是同一个类型的子类,也有可能是类的子类。vscode 在很多情况下不能够对这种引用进行准确的类型分析,只能给你提示可能的类型里大家都有的那些方法。即便函数只会返回一种类型,但是如果它有可能返回 null,vscode 会因为 null 没有任何属性不能给你提示这个类型的属性。
就拿 Document.getElementById() 来说,你可以在 vscode 里看到这个函数会返回 HTMLElement,确定是个 HTML 元素没错,但它到底是哪种类型的 HTML 元素呢?vscode 不知道……它也不知道实际上到底能不能获取到这个元素。
虽然作为编码者的我们可以确定某些操作能够获得的类型是唯一的,但 vscode 并没有那么智能。
那么 vscode 什么情况下能够判断出来呢,答案是你对引用进行过显式的类型判定的时候:
typeof、instanceof 、等于或不等于判断都可以作为 vscode 自动辨别类型的依据。
你可能会说:为了能识别出类型要对不可能有其他情况的代码加一堆没用的判断,wc,**!
确实,所以有另外一种办法,那就是手动为引用进行类型的标注。vscode 支持 jsdoc 文档,我们可以用 jsdoc 给变量强制指定类型。
也可以给函数的入参指定类型,vscode 可以给你提示传参的类型是否正确。
2024年09月28日 20点09分 6
绝了大佬,讲的这个jsdoc指定类型就是我想要的功能[欢呼] 另外前面讲的很有逻辑一看就明白,非常感谢
2024年09月29日 05点09分
@惹不起惹不起º 还是上ts
2024年10月12日 17点10分
1