请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于上下文类型

请问为什么这个代码在我的vscode编辑器上没有报错,编译也没有报错呢

window.onmousedown = function(mouseEvent) {
    console.log(mouseEvent.button)
}

typescript版本为3.7.4

正在回答 回答被采纳积分+3

3回答

撬代码 2020-03-03 23:19:10

找到不同编辑器变现不同的原因

https://img1.sycdn.imooc.com/szimg/5e5e741e0921e03919450499.jpg

这边vscode 也是有提示的,网上根据这个内容搜索:发现是ts 的配置项 noImplicitAny 这个属性。

https://img1.sycdn.imooc.com/szimg/5e5e74c60914341808770066.jpg

https://img1.sycdn.imooc.com//szimg/5e5e74ec09b656e207800376.jpg

这边vscode 是默认 false,相信老师的 webstrom 是 true;

实际项目 都是可以通过tsconfig.json来配置的,

命令行的话 如下加上 noImplicitAny 就好了

https://img1.sycdn.imooc.com/szimg/5e5e75520903679213100354.jpg

1 回复 有任何疑惑可以回复我~
提问者 flask 2019-12-27 14:07:08

https://img1.sycdn.imooc.com//szimg/5e059eb409aba06f06070257.jpg

我这边看我的编辑器,mouseEvent推断成了any了,我将button改成了clickTime还是不会报错,编译也不会报错,将mouseEvent指定为MouseEvent 类型就会报错了,您看下我上传的那张图片

0 回复 有任何疑惑可以回复我~
  • 这个可能是编辑器的问题,我的 webStorm 能准确地推断它的类型为 MouseEvent
    回复 有任何疑惑可以回复我~ 2019-12-27 14:22:09
  • 我的vscode跟你一样
    回复 有任何疑惑可以回复我~ 2020-01-18 21:55:57
ustbhuangyi 2019-12-27 13:47:46

mouseEvent 变量会被推断成 MouseEvent 类型,这个类型是包含 button 属性的,不会报错的

0 回复 有任何疑惑可以回复我~
  • 提问者 flask #1
    我这边看我的编辑器,mouseEvent推断成了any了,我将button改成了clickTime还是不会报错,编译也不会报错,将mouseEvent指定为MouseEvent 类型就会报错了,您看下我上面上传的那张图片
    回复 有任何疑惑可以回复我~ 2019-12-27 14:07:53

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信