大家好,我是小良,这算是我真正意义的第一篇文章,ts是现在各大公司招聘要求里面必须掌握的技术,可以用来解决我们前端js开发的类型缺陷,所以希望小良能在博客里面完美得把学到的知识进行总结,让更多人看见并学到东西,也希望小良能坚持下去更新 ^ _ ^
为什么需要TypeScript?
Js优点易学易用,缺点是开发过程容易埋下安全隐患 ,维护成本高,简单来说就是因为JavaScript是弱类型语言,且是动态类型语言 只能在运行阶段发现错误
而TypeScript提供了一套静态检测机制, 可以帮助我们在编译时就发现错误
看到上面的解释,有些朋友可能对名词不太了解,比如“弱类型语言”,“动态类型语言”,这些词是什么意思呢?下面由小良来给大家进行解答,并总结他们的区别:
- 弱类型语言:如js就是弱类型语言,即声明变量的时候不需要指定变量类型,只需要关键字var ,而且在声明一个数字类型变量a的时候,后续可以直接改变a的类型为字符串或者其他类型。
- 强类型语言:java,c#那些就是强类型语言,一旦某一个变量被定义类型,如果不经过强制转换,则它永远就是该数据类型了。
- 动态类型语言:只有在程序运行时才会做变量类型检查,即在编写代码的时,不会给变量指定类型限制,变量类型在赋值操作之后会被自动记录下来。
- 静态类型语言:在程序编译时会做变量类型检查,在变量定义的时候就限制它的类型,在编译的时候会检查是否符合类型。
那么ts是什么类型的语言呢?
这里还有纠正一个概念,TypeScript 是静态弱类型语言,这跟C语言是一样的,并不是所谓的强类型,因为要兼容 JavaScript, 所以 TypeScript 几乎不限制 JavaScript 中原有的隐式类型转换,它对类型的隐式转换是有容忍度的,而真正的静态强类型语言比如 Java、C# 是不会容忍隐式转换的。
那么什么是typescript?
- TypeScript简称TS
- Ts是以js为基础构建的语言,因此可以在任何支持js的平台执行,
- ts拓展了js并且有js所没有的类型,所以它是一个js的超集,
- 但是ts不能被js解析器直接执行,所以需要转换成js才能执行 硬要以父子类关系来说的话,TypeScript是JavaScript子类,继承的基础上去扩展
不管是金点子,还是银点子,得不到落实都是空点子。