前言
不做笔记不学习
一个线上的TypeScript
练习地址:TypeScript Playground
为什么要有 TypeScript
TypeScript
是JavaScript
的超集,因为它扩展了JavaScript
,有JavaScript
没有的东西。硬要以父子类关系来说的话,TypeScript
是JavaScript
子类,继承的基础上去扩展。
TypeScript
诞生的根本原因是JavaScript
是弱类型语言(可以隐性的进行语言类型转变),无法做到在编译阶段进行类型检查,提早发现错误。
TypeScript
的初衷就是为了做类型检查,提早发现错误,所以「类型」
是其最核心的特性。当然它只是给出你代码可能不会按预期执行的警告,比如你未按照声明的类型传参,你的代码还是可以运行的。这一点与强类型语言还是有本质的区别,强类型语言会直接导致编译不通过,因为TypeScript
只是转译。
跟
JavaScript
不同,TypeScript
文件后缀使用.ts
扩展名。浏览器是不识别.ts
文件,所以使用时必须提前把TS
代码转换成JavaScript
代码。这个转换过程被称为转译
,编译
和转译
的微小差别在于:
- 编译是把源码转变成另一种语言
- 转译是把源码转变另一个相同抽象层级的语言
我是不喜欢TypeScript
的,因为在我看来它导致了这么几个问题:
- 学习成本增加;
- 代码量增加;
- 代码复杂度增加
当然TypeScript
带来的收益是可观的,静态检查使得提前发现错误,在前端工程化开发的今天确实有必要,因为团队成员技术水平参差不齐,TypeScript
可以帮助避免很多错误的发生,当然如果你是any大法
的信仰者,我劝你善良。不要为了用TypeScript
而用TypeScript
,用它的前提一定要是它能帮你解决特定的问题。
我又是喜欢TypeScript
的,因为它是先进的JavaScript
:
TypeScript
提供最新的和不断发展的JavaScript
特性,包括那些来自2015
年的ECMAScript
和未来的提案中的特性,比如异步功能和Decorators
,以帮助建立健壮的组件。
老实说,两年前我就看过这玩意
标签:string,number,TS,备忘录,let,类型,type,name From: https://www.cnblogs.com/cczlovexw/p/17082471.html