官网文档
举荐√
:微软(最新):https://www.typescriptlang.org/
国内(相比落后几个版本):https://www.tslang.cn/
为什么要学习️
为了好工作,国内很多公司都在应用ts了,会ts有劣势
这门语言带了更好的开发体验,进步开发效率
解决js中的难以解决的问题
节俭在开发中排错的大部分工夫,尤其是大型项目中
js语言的问题
- 片段一
function getName() { if (Math.random() < 0.5) { return "yuan jin" } return 404}let myname = getUsername()mynema = myname.split(" ") .filter(it => it) .map(it => it[0].touppercase() + it.subStr(1)) .join(" ")
片段二
// 这只是示例,咱们开发过程中,变量的值个别是接口获取的数据或在一大段代码里混着,极易产生谬误 const obj = undefined console.log(obj.name)
- 能够看到咱们创立的
ts文件
,间接把各种问题都裸露进去了,包含应用不存在的变量, 函数,或成员
,把一个确定的类型当作一个确定的类型解决
,应用值为null, 或undefined的成员去当成对象等其余去应用
, 当然还有其余比方变量的类型不确定性,赋值不同的类型的值
,全局变量的反复定义
- 比方咱们在测试环境写了一大段代码,过后测试时没发现写错了,后果上线却发现有问题,这是十分可怕的。所以
ts
很好的发现了99%人工不没发现的小问题。
js的原罪
- js语言的过后是只用了
两周
赶出来的语言,为了在浏览器实现小的成果. 所以js语言自身的个性,决定了该语言无奈适应大型的我的项目 - 是属于弱类型语言: 变量能够随时更换类型
- 解释性: 谬误的产生在
运行时
运行后能力晓得谬误在哪。 而java
等其余语言是编译型
,编译时就会发现错误
Ts语言的特点️
- TypeScript是JS的超集(
还是用js语言去编写,内容包含js, e5, es6...,只是在此基础上减少了扩大,比方类型零碎
),是一个可选的(ts文件中,能够加类型查看,也能够不加,ts会主动推算出以后的变量的类型
),动态(编写代码的时候类型查看,不是在运行时
)的类型零碎 - 对代码中的所有标识符(变量, 函数,参数, 返回值)进行类型查看
不须要
对之前的js文件破坏性的革新,学习曲线平滑,只须要将文件后缀改成ts
,就会主动加上谬误查看
- 浏览器环境,node环境无奈间接辨认ts代码,须要应用
tsc命令-ts编译器转化为es
- ts不参加运行,打包后的类型查看,
只在编译-编写代码时
Ts的常识
2012年由微软公布,由anders主导开发。目标为了解决js编写的痛点,进步开发效率
开源, 拥抱ES规范,蕴含最新ES
额定的惊喜
因为js
没有类型查看,所以在js
中很多面向对象的场景实现起来有诸多问题, TS
能够编写欠缺的面向对象代码
有了类型查看, 耳濡目染的加强了咱们的面向对象的开发的思维!!!