基础知识学习----TypeScript
介绍
- TypeScript 是 JavaScript 的超集,这意味着所有合法的 JavaScript 代码也是合法的 TypeScript 代码。你可以把 TypeScript 理解为在 JavaScript 的基础上添加了更多的特性和语法检查。
- JavaScript 是一种动态类型语言,变量的类型只有在运行时才会知道,而 TypeScript 引入了静态类型,可以在编译时就检测出类型错误,从而避免一些常见的错误。
- TypeScript 代码不能直接在浏览器或 Node.js 中运行,必须先编译成 JavaScript。TypeScript 提供了编译器(tsc),将 TypeScript 代码转化为标准的 JavaScript 代码。
- TypeScript 支持更完整的面向对象编程特性,比如接口、类、继承、访问控制修饰符(private、public、protected)等,这使得 TypeScript 更适合于开发大型、复杂的应用。
变量和类型
-
类型
https://liiked.github.io/VS-Code-Extension-Doc-ZH/#/preknowledge/variable-and-type
给类型起别名:
-
类型断言
类型断言好比其它语言里的类型转换,但是不进行特殊的数据检查和解构。它没有运行时的影响,只是在编译阶段起作用。
-
变量声明
使用let,这样声明的变量具有块作用域,即被大括号限制。不可以重复定义一个变量。
const声明是声明变量的另一种方式。它们与let声明相似,但是就像它的名字所表达的,它们被赋值后不能再改变。 -
访问/设置对象的属性和方法
和java很像,不再赘述 -
变量解构
类似Python的解包,可以将数组,对象一次性赋值给多个元素。
剩余变量,解构的时候用来获取剩余的变量,定义的方法是…开头的变量名方式。 -
默认值
-
变量展开
类
-
声明
-
继承
如果有构造函数,要调用super, 先构造父类
-
修饰符
在TypeScript里,成员都默认为 public。在上面的例子里,我们可以自由的访问程序里定义的成员。
private protected同java, private就是只能类内访问, protected可以派生类访问。
readonly
你可以使用 readonly关键字将属性设置为只读的。 只读属性必须在声明时或构造函数里被初始化。
getter setter
在 TypeScript 和 JavaScript 中,getter 和 setter 是特殊的方法,它们允许你像访问属性一样使用,而不需要像调用普通函数那样使用括号 ()。这是因为 getter 和 setter 提供了一种访问属性的方式,但它们背后实际上是函数。
解释:
getter 方法允许你读取属性值,就像访问普通属性一样,但实际背后是在调用一个函数。
setter 方法允许你设置属性值,也像直接给属性赋值一样,但它实际也是一个函数,允许你在设置值时加入逻辑控制。
static
到目前为止,我们只讨论了类的实例成员,那些仅当类被实例化的时候才会被初始化的属性。 我们也可以创建类的静态成员,这些属性存在于类本身上面而不是类的实例上。
abstract
抽象类做为其它派生类的基类使用。 它们一般不会直接被实例化。 不同于接口,抽象类可以包含成员的实现细节。 abstract关键字是用于定义抽象类和在抽象类内部定义抽象方法。