TS入门(TS类型有哪些?怎么使用?)

news/2024/11/22 18:29:53/

TS简介

TS(TypeScript)是一种由微软开发的开源编程语言,它是 JavaScript 的超集,能够为 JavaScript 添加静态类型检查和面向对象编程的特性。TS 可以在编译时进行类型检查,从而提高代码的可读性、可维护性和可靠性,同时还支持 ECMAScript 的最新特性。TS 可以运行在任何支持 JavaScript 的平台上,并且可以与现有的 JavaScript 代码无缝集成。TS 还具有良好的开发工具支持,例如 Visual Studio CodeWebStorm 等常用的 IDE 都支持 TS 的开发。

在这里插入图片描述

TypeScript 中常用的类型包括以下几种:

任意类型(any): 表示任意类型,可以赋予任何值。

数字类型(number): 表示数字类型,包括整数和浮点数。

字符串类型(string): 表示字符串类型,包括单引号和双引号。

布尔类型(boolean): 表示布尔类型,包括 true 和 false。

数组类型(array): 表示数组类型,可以包含任何类型的元素。

元组类型(tuple): 表示元组类型,可以包含固定数量和类型的元素。

枚举类型(enum): 表示枚举类型,可以定义一组命名的常量。

nullundefined 类型: 表示 null 和 undefined 类型,分别表示空值和未定义的值。

void 类型: 表示没有任何类型,通常用于函数返回值。

object 类型: 表示非原始类型,即除了 numberstringbooleannullundefined 之外的类型,包括对象、数组、函数等。

never 类型: 表示永远不存在的值的类型,通常用于函数的返回值。

在这里插入图片描述

TypeScript 中的类型可以用于定义变量、函数、类、接口等。以下是一些常见的使用方式:

定义变量的类型

typescript
Copy code
let age: number = 18;
let name: string = "Tom";
let isStudent: boolean = true;

定义函数的参数类型和返回值类型

typescript
Copy code
function add(x: number, y: number): number {return x + y;
}

定义数组和元组的类型

typescript
Copy code
let nums: number[] = [1, 2, 3];
let info: [string, number] = ["Tom", 18];

定义对象的类型

typescript
Copy code
interface Person {name: string;age: number;
}
let tom: Person = {name: "Tom",age: 18
};

定义类的类型

typescript
Copy code
class Person {name: string;age: number;constructor(name: string, age: number) {this.name = name;this.age = age;}
}
let tom: Person = new Person("Tom", 18);

这些类型用法只是 TypeScript 中类型的冰山一角,还有很多高级用法,比如联合类型、交叉类型、类型别名、泛型等,可以根据实际需求灵活运用。

在这里插入图片描述

JavaScript(简称 JS)和 TypeScript(简称 TS)之间的主要区别如下:

类型系统JavaScript 是一种弱类型语言,变量的类型在运行时才能确定。而 TypeScript 是一种强类型语言,变量的类型在编译时就已经确定了,可以进行更加严格的类型检查。

静态类型检查TypeScript 提供了静态类型检查,能够在编译时就发现类型错误,避免了在运行时出现类型错误的情况。而 JavaScript 只能在运行时才能发现类型错误,容易导致程序崩溃或者出现意外行为。

ES6+特性支持TypeScript 可以支持最新的 ECMAScript 标准,包括 ES6ES7ES8 等,而 JavaScript 的支持程度则取决于浏览器或 Node.js 的版本。

开发工具支持TypeScript 对于开发工具的支持更加友好,例如 Visual Studio CodeWebStorm 等常用的 IDE 都支持 TS 的开发,可以提供更多的智能提示和代码补全。

学习难度TypeScript 相对于 JavaScript 学习难度较大,需要掌握更多的语法和类型系统相关的知识。但是 TypeScript 的类型系统可以提高代码的可读性、可维护性和可靠性,对于大型项目开发来说是非常有益的。
除此之外,TypeScript 还可以方便地集成到 JavaScript 项目中,可以逐渐地将 JavaScript 代码转化为 TypeScript 代码,避免了重构的繁琐,也保证了代码的兼容性。


http://www.ppmy.cn/news/82983.html

相关文章

LeetCode高频算法刷题记录7

文章目录 1. 下一个排列【中等】1.1 题目描述1.2 解题思路1.3 代码实现 2. 两数相加【中等】2.1 题目描述2.2 解题思路2.3 代码实现 3. 括号生成【中等】3.1 题目描述3.2 解题思路3.3 代码实现 4. 滑动窗口最大值【困难】4.1 题目描述4.2 解题思路4.3 代码实现 5. 最小覆盖子串…

Go语言面试题--必会语法(1)

文章目录 1.下面这段代码输出什么?2.下面代码输出什么?3.同级文件的包名不允许有多个,是否正确?4.下面的代码有什么问题,请说明。 1.下面这段代码输出什么? func main() {count : 0for i : range [256]str…

实车获取CANlog并回放分析-操作方法

一、连接线束 1、找到obd接口,连接CAN盒子(这里用的VN1639A),分别链接CANH 和CANL 2、CAN盒上的usb线连接电脑 二、 连接CANoe 1、新建一个CANoe工程 点击Logging 文件夹,修改log存放路径和名称,log格式…

抖音seo源码开发,技术交付及故障。服务等响应

抖音seo源码开发、抖音seo源码部署、抖音seo源码开源交付及故障响应 什么是抖音SEO? 抖音SEO主要是指通过一系列优化措施,提高抖音短视频在抖音搜索结果页的排名,从而增加短视频曝光量和观看量的过程。SEO的实现需要涉及多个方面&#xff0c…

Ansys Speos 2023 R1新功能 | Texture可视化纹理提升视觉感知

Ansys Speos 2023 R1 新功能介绍 Ansys Speos 持续推动创新,为光学设计人员提供精确、高性能的仿真功能。2023 R1 新版本提供强大的功能,可加快结果生成速度、提高仿真精度并扩展与其他 Ansys 产品的互操作性。 更新Texture映射预览,为textur…

从领英退出中国,解析融云《社交泛娱乐出海作战地图》从0到1出海方法论

近期,“领英职场”宣布将于 2023 年 8 月 9 日起正式停止服务。移步【融云全球互联网通信云】回复“地图”免费领 一时之间,网友纷纷送上祭文。有人觉得猝不及防,但更多人直言并不意外。 领英在中国的折戟终局,似乎从 2021 年改版…

PM861K01 3BSE018105R1协作机器人机械臂的每个轴上会安装扭矩传感器,用于测量轴电机和变速箱内的机械张力

​ PM861K01 3BSE018105R1协作机器人机械臂的每个轴上会安装扭矩传感器,用于测量轴电机和变速箱内的机械张力 机器人在工业领域已经存在了几十年的时间,但技术创新正在推动全新一轮的工厂自动化趋势。对于那些曾经负担不起(或者不需要&…

MySQL 索引(w字)

目录 关于索引 关于磁盘 磁盘 ​扇区 结论 MySQL 与磁盘交互基本单位 MySQL 整体轮廓 结论 关于索引 建立测试表 关于 Page 为何IO交互要是 Page 理解单个Page 理解多个Page ​页目录 复盘一下 ​B树 ​B树 聚簇索引 VS 非聚簇索引 总结(重点) …