Typescript脚本有报错,但在Cocos中正常运行、不报错

ts就是加了类型系统的js

  1. 类型系统是用来帮助程序员写代码的
  2. ts要经过编译,去掉类型系统,变为js以后才能运行
  3. 如果ts报错,运行不报错,说明只是类型有问题
  4. 既然只是类型有问题,那就在类型系统里去改,所以你需要去改ts

代码是写给人看的

可以写个脚本在文件变化的时候跑eslint和tsc --noEmit,有问题就弹窗

谁家好人要把类型报错放在cocos里提示啊 这有啥好纠结的 等ide不报错cocos报错那时候有你纠结的

我推荐你可以先学习这个《现代JavaScript教程》
先从JavaScript的视角出发,可以更好的理解TypeScript的作用。
因为TypeScript是JavaScript的超集,所以你完全可以在TypeScript文件里写Javascript代码,而TypeScript只是JavaScript的基础上添加了亿些类型提示的功能而已。
如果你好奇TypeScript最终编译出来的JavaScript的代码是什么样子的,你可以写一个单独的.ts文件,并且用tsc编译器让它把js文件编译出来,然后对照着看(没必要专门看cocos编译出来的JavaScript代码)(不过编译出来的JavaScript代码的内容会和tsconfig.json里的配置有关)

这是TS作为JS扩展集的特性之一,在编写时就提示你类型不符不比你运行时因为类型不对头报错再去找问题方便快捷的多么

如果你希望所见即所得这种报错,那么你从编写代码的时候就要明白:number类型的变量,就不能赋值为string类型,因为你这么做是错的,所以编辑器就给你提示报错了。
你要从源头解决错误,而不是期望运行时的各种不定因素来给你提示错误。

感谢推荐。
我也看了些JavsScript的教程。我看的是阮一峰的。不过看了一阵JavaScript就去看TypeScript,然后又去看Cocos了。没法学完,都看点基础的,然后再慢慢补。

嗯,我去试一试,听起来是个不错的办法

作为初学者. 够严谨的… 我学的时候, 是只要能跑就行. 所以才主要搞JS, TS…
这么严谨. 可以直接去搞C#, 用Unity 或 UE, 这两个嘎嘎严谨. 有一点错误就不让你跑!

直接开严格模式
//“strict”: false,

// "noImplicitAny": false,

// "strictNullChecks": false,

// "strictPropertyInitialization": false,

以前是搞Unity的,找了个cocos的工作,又开始看cocos

这个我试了下,没用。
tsconfig.json 和 temp/tsconfig.cocos.json 中的一些设置,好像在运行的时候没有真的生效。