TypeScript 学习总结

yizhihongxing

TS:是JS的超集,即对JS的扩展,主要提供了类型系统和对ES6+的支持,但TS最终会转换为js代码去执行。
特点:
1. 始于JavaScript, 归于JavaScript
2. 强大的类型系统
3. 先进的JavaScript

TypeScript JavaScript
语言 面向对象编程语言 面向脚本编程
是否支持可选参数 支持 不支持
是否支持静态类型 支持 不支持
是否支持接口 支持 不支持
基础类型:
	1. boolean
	2. number
	3. String
	4. undefined和null(默认情况下null和undefined是所有类型的子类型)
	5. 数组
	6. 元组:表示一个已知元素数量和类型的数组,各元素的类型不必相同
	7. object:表示非原始类型,也就是除number、string、boolean之外的类型
	8. 枚举:为一组数值赋予友好的名字
	9. any:不清楚类型的变量指定一个类型
	10. void
	11. 联合类型(Union Types) (表示取值可以为多种类型中的一种)
	12. 类型断言:可以用来手动指定一个值的类型。
	13. 类型推断:TS会在没有明确的指定类型的时候推测出一个类型,
		a. 定义变量时赋值了,推断为对应的类型。
		b. 定义变量时没有赋值,推断为any类型。
类:
	1. 继承: 类从基类中继承了属性和方法,通过 extends 实现。
	2. 修饰符: public(默认)、private(不能在声明它的类的外部访问)、protected(子类可以访问)。
	3. 存取器: TypeScript支持通过getters/setters来截取对对象成员的访问,它能帮助你有效的控制对对象成员的访问。
	4. 静态属性:静态属性:是类对象的属性;非静态属性:是类的实例对象的属性。
	5. 抽象类: 不能被实例化,用abstract修饰。
接口:

(接口是对象的状态(属性)和行为(方法)的抽象(描述))核心原则之一是对值所具有的结构进行类类检查。

	1. readonly VS const: 判断该用readonly还是const的方法是看要把它作为变量使用还是作为一个属性。作为变量使用的话用const,若作为属性则使用readonly。

	2.类类型:实现接口
		一个类可以实现多个接口
		一个接口可以继承多个接口
	3. 接口也可以相互继承
		#函数类型
泛型:
指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定具体类型的一种特性。
重载:
	函数名相同,而形参不同的多个函数。
	在JS中,由于弱类型的特点和形参与实参可以不匹配,是没有函数重载这一说的,
	但在TS中,与其它面向对象的语言(如Java)就存在此语法。
什么是构造函数,其作用:
构造函数是一种特殊的方法,主要用于创建对象时初始化对象,即给对象成员属性赋值。和new关键字一起使用,而TS的构造函数通过关键字constructor实现,并用this关键字来访问当前类中的属性和方法。
为什么要用TS:
1. TS在编译时就可以暴露问题,而JS则在运行时才可以发现。
2. TS作为一种强类型,明确知道数据类型,代码的可读性高,便于理解。
什么是泛型:
在定义时不去指定类型,等使用时才去指定。
什么是实例化:
一般创建一个类后并不能直接对属性和方法进行访问,必须对类进行实例化,需要创建一个对象。创建对象通过new关键字来实现,通过‘.’来访问属性和方法。
什么是方法重写:
子类可以直接继承父类的方法,直接使用,但有时子类并不想原封不动的继承父类中的方法,而是需要做一定的修改,就是重写。重写的作用在于子类可以根据需要定义自己的特定行为,即子类能够根据需要实现父类方法。
什么是可索引类型接口:
一般用来约束数组和对象
never和void的区别:
void表示没有任何类型(可以赋值为null和undefined);
never表示不包含任何值,永远没有值;
void返回值类型的函数可以正常运行,而never的则无法执行,也无法终止,会抛出异常。

原文链接:https://www.cnblogs.com/hechen-xuan/p/17264877.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:TypeScript 学习总结 - Python技术站

(0)
上一篇 2023年4月18日
下一篇 2023年4月18日

相关文章

  • Jquery Ajax学习实例 向页面发出请求,返回XML格式数据

    让我们来详细讲解一下JQuery Ajax学习实例,这里我会给出两个示例说明,为了方便描述,我会分成步骤来讲解。 基本概念 在开始之前,我们需要先理解一些基本概念。 AJAX AJAX 是一种与服务器交换数据并更新部分网页而不重载整个页面的技术。AJAX 不是新技术,它是使用了已有的技术,是一种将客户端脚本和服务器端脚本进行异步通信的技术。 JSON JSO…

    JavaScript 2023年6月11日
    00
  • android studio3.0.1无法启动Gradle守护进程的解决方法

    解决Android Studio 3.0.1无法启动Gradle守护进程的方法 当我们使用Android Studio开发应用时,有时会遇到无法启动Gradle守护进程的问题,这个问题会导致我们无法编译或运行项目。本文将介绍几种解决这个问题的方法。 方法一:手动关闭Gradle守护进程 打开Task Manager(在Windows系统中,可以使用Ctrl+…

    JavaScript 2023年5月28日
    00
  • Javascript和Java获取各种form表单信息的简单实例

    下面是我对“Javascript和Java获取各种form表单信息的简单实例”的攻略: 简介 在web开发中,表单是经常使用的元素之一,通常在提交表单之前需要获取表单中用户输入的信息进行验证或者提交。Javascript和Java都可以很方便地获取表单中的信息。 获取表单信息的方式 Javascript获取表单信息 Javascript获取表单信息可以通过D…

    JavaScript 2023年6月10日
    00
  • 通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法

    获取上传的图片信息并通过ajax传递给后端,可以分为以下几个步骤: 添加文件选择控件 在HTML页面中,添加一个文件选择控件,让用户可以选择要上传的图片文件。示例代码如下: <input type="file" id="file-input"> 监听文件选择事件 使用JavaScript监听文件选择控件的c…

    JavaScript 2023年6月11日
    00
  • Javascript Array length 方法

    以下是关于JavaScript Array length方法的完整攻略。 JavaScript Array length方法 JavaScript Array length方法用于获取或设置数组的长度。该方法返回数组中元素的数量,或者设置数组的长度。如果设置的长度小于当前数组的长度,则数组将被截断。如果设置的长度大于当前数组的长度,则数组将被扩展,并且新的元…

    JavaScript 2023年5月11日
    00
  • JS实现字符串中去除指定子字符串方法分析

    下面是对“JS实现字符串中去除指定子字符串方法”的解析和攻略: 什么是JS实现字符串中去除指定子字符串方法? JS实现字符串去除指定子字符串的方法是指通过JS代码编写,去掉字符串中特定的子字符串的方法。这种方法通常使用常规的JS字符串操作函数(如replace()等)来实现。 JS实现字符串中去除指定子字符串方法的解决方案 常见的JS实现字符串中去除指定子字…

    JavaScript 2023年5月28日
    00
  • JScript内置对象Array中元素的删除方法

    针对JScript内置对象Array中元素的删除方法,可以采取以下两种方式: 方法一:使用splice方法 Array对象的splice()方法可以用来删除元素,并向数组添加新元素。 其语法如下: array.splice(start, deleteCount, item1, item2, …) 参数说明: start:必需,整数,规定数组中开始删除和添…

    JavaScript 2023年6月11日
    00
  • JavaScript Cookie的读取和写入函数

    下面我们来详细讲解如何读取和写入JavaScript Cookie。 什么是Cookie? Cookie是在Web浏览器中存储的小数据文件。通常,当您第一次访问一个网站时,该网站将会创建一个Cookie,并存储在您的计算机上。当您访问该网站的其他页面时,该Cookie会被发送回该网站,以便它可以“记住”您的首选项或其他设置。 如何读取和写入Cookie? 写…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部