TypeScript 学习总结

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日

相关文章

  • javascript ES6 新增了let命令使用介绍

    JavaScript ES6 新增了let命令使用介绍 在ES6之前,JavaScript中定义变量只有两种方式:var 和 window.xxx;ES6新增了let和const命令,增加了JavaScript定义变量的方式,let命令用于声明一个只在代码块内部可用的变量。 let命令基本用法 let 命令的用法与 var 完全相同,可以使用 let 命令声…

    JavaScript 2023年6月11日
    00
  • JavaScript中string对象

    下面我来为你详细讲解JavaScript中string对象的完整攻略。 概述 JavaScript中的字符串属于基本数据类型,但使用字符串时需要用到string对象来操作字符串,实现对字符串的读取、替换、删除、搜索等操作。 创建字符串 在JavaScript中,可以使用双引号(“”)或单引号(”)来创建字符串字面量。同时,也可以使用String()函数来将…

    JavaScript 2023年5月19日
    00
  • 详解JavaScript中Date.UTC()方法的使用

    详解JavaScript中Date.UTC()方法的使用 什么是Date.UTC()方法? 在JavaScript中,Date.UTC()是一个可以根据协调世界时(UTC)创建日期对象的方法。该方法的返回值是指定日期时间距离Unix纪元(格林威治标准时间1970年1月1日00:00:00)的毫秒数。 Date.UTC()方法的语法 Date.UTC(year…

    JavaScript 2023年5月27日
    00
  • div css 实现tabs标签的思路及示例代码

    让我来为你详细讲解如何使用div和CSS实现tabs标签。 一、思路 假设我们需要实现一个tabs标签,首先需要以下几步: 将标签划分为两部分:内容区和导航区; 内容区包含全部标签页的内容,导航区用于切换标签页; 导航区的每个按钮都有一个相对应的标签页,点击导航区的某个按钮可以显示对应的标签页; 显示的标签页需要隐藏其他标签页,以显示当前标签页的内容。 基于…

    JavaScript 2023年6月11日
    00
  • Javascript的比较汇总

    针对“JavaScript的比较汇总”的完整攻略,我为您准备了如下的详细讲解: JavaScript的比较汇总 简介 在JavaScript中,我们经常需要使用比较运算符来进行比较操作。本文将详细介绍JavaScript的比较汇总,包括比较运算符、非数值类型的比较、严格相等与相等运算符、三元运算符等内容。 比较运算符 JavaScript中的比较运算符分为小…

    JavaScript 2023年5月18日
    00
  • 扒一扒JavaScript 预解释

    下面是关于 “扒一扒JavaScript 预解释” 的完整攻略: 什么是JavaScript预解释? JavaScript是一种解释型语言,它在运行前必须进行解释并执行代码,而预解释则是在JavaScript代码执行之前进行一遍解释的过程。预解释其实是JavaScript解释器在读取JavaScript代码时,先查找所有定义的变量、函数,并且把这些变量、函数…

    JavaScript 2023年5月18日
    00
  • JavaScript数组操作总结

    JavaScript数组操作总结 什么是JavaScript数组 JavaScript数组是一种可以存储一组有序数据的容器,它可以存储任何类型的数据并可以通过索引来访问。在JavaScript中创建一个数组非常简单,只需要使用方括号[]将数据项封装起来,每个数据项之间使用逗号分隔。 let arr = [1, ‘hello’, true, 3.14]; 数组…

    JavaScript 2023年5月17日
    00
  • vue组件中实现嵌套子组件案例

    Vue组件是实现可重用性和封装性的关键,并且Vue允许您嵌套组件和在组件中使用子组件。下面是实现嵌套子组件的完整攻略: 创建子组件 首先,需要创建子组件,通常是通过定义一个Vue组件,在template代码块中编写HTML模板,以及在script代码块中编写相关的逻辑代码。 下面是一个示例子组件的代码: <template> <div&gt…

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