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 代码,避免了重构的繁琐,也保证了代码的兼容性。

TS入门(TS类型有哪些?怎么使用?)相关推荐

  1. ts入门笔记——ts类型声明和类型断言

    最近玩csdn比较少,欢迎关注我的掘金:杨灿就是杨火山 简单快速上手ts的学习路径: 一.熟悉掌握熟悉的强类型定义,初步学习编写强类型代码. 学习ts的声明变量类型,能够初步编写强类型代码: 学习ts ...

  2. Typescript系列(一):TS入门教程之简介、安装、编译、监听

    一个比java更script的语言,它是js的超集,它是Typescript. 一.typescript是什么? Typescript是javascript的一个超集,主要提供了类型系统和对ES6的支 ...

  3. th:text为null报错_为vue3.0的学习TS解读高级类型

    知识点摘要 本节课主要关键词为: 自动类型推断 / 类型断言 / 类型别名(type) / 映射类型(Pick/Record等...) / 条件类型(extends) / 类型推断(infer) 自动 ...

  4. as button onitemclicklistener为null_为vue3.0的学习TS解读高级类型

    知识点摘要 本节课主要关键词为: 自动类型推断 / 类型断言 / 类型别名(type) / 映射类型(Pick/Record等...) / 条件类型(extends) / 类型推断(infer) 自动 ...

  5. 【TS】1552- 浅谈TS运行时类型检查

    What-什么是运行时类型检查? 编译时类型检查(静态类型检查): 在编译阶段对变量类型进行静态检查,编译后的代码不保留任何类型标注信息,对实际代码运行没有影响 运行时类型检查(动态类型检查): 在代 ...

  6. 浅谈 TS 标称类型介绍及社区实现

    本文将以稍偏门的视角来看待 TypeScript 的类型系统,主要介绍标签类型是什么,以及 TS 社区都有哪些实现手段. 前言 有位大神说过"程序是类型的证明",我看不懂,但我大受 ...

  7. 一篇浅显易懂的 TS 入门指南

    大家好,我叫小杜杜,是一个喜欢动手敲代码的小菜鸟,我认为代码应该亲自敲一遍,才能更好的熟记于心,作为一个程序员,我们与自己的小伙伴共同开发.维护于一个项目,需要保持代码的整洁.清晰,使组内的任意一位小 ...

  8. 【TS】ts的使用和类型注解

    全局安装Ts npm install -g typescript 检查ts版本 tsc -V 安装完ts后,在文件夹新建 xxx.ts文件,html可以引入,但此时引入ts会报错,解决问题如下: 在使 ...

  9. 初学TS—TS的基础类型

    TS的基础类型 Boolean类型 let isDo:boolean = true; === var isDo = true Number类型 let num:number = 5; === var ...

最新文章

  1. 谷歌数字图书馆_如何在没有联系的情况下找到6位数字的工作-提示使我获得了Google和其他技术巨头的工作机会...
  2. 比特币的挑战者 BCH 带着开发者们来到湾区了!
  3. 利用requests库访问网站
  4. DeepLearning索引
  5. Idea中实战Git
  6. vscode 设置保存格式化,当保存时,单引号变成了双引号,vue项目报错
  7. Windows访问Linux的Tomcat,显示无法连接
  8. webService、webSocket、socket、http之间的区别
  9. WPS关于尾注的细节
  10. Build desktop apps for Windows PCs
  11. 面试常考题目之atoi的实现
  12. python 字符串replace函数_01-Python里字符串的常用操作方法--replace()函数
  13. 超链接a标签的伪类选择器问题,Link标签与visited标签的失效问题(问题介绍与解决方法)。以下全部内容跟可通过鼠标左键选取后,复制到编辑器中直接运行。
  14. libvirt 创建的文件
  15. 小米平板2刷哪个系统更流畅_教程:小米平板2轻松刷Win10
  16. 基于微信小程序驾校报名系统(微信小程序毕业设计)
  17. 方差公式初三_方差|初中方差的计算公式
  18. 最终幻想7php攻略,最终幻想7图文攻略 PS版FF7全剧情任务攻略(CD1)(6)
  19. 测试学习--云测试平台
  20. C语言基础之3:数据与C

热门文章

  1. 企业业务单骑救主,华为连取两项国内前二、全球前五
  2. C语言实验报告求三角形面积,C语言作业,编程求三角形面积。
  3. Android学习攻略:该如何循序渐进地学习Android知识?,android棋牌游戏开发
  4. GAN(生成式对抗网络)简介
  5. vs2010中c#中类库dll制作和引用方法
  6. 程序员锁死服务器搞垮上家公司后,下家公司说不敢惹不敢惹!
  7. 数据结构初阶最终章------>经典八大排序(C语言实现)
  8. 不容忽视的10个新兴硬件技术
  9. 介绍一种知识管理系统-PARA
  10. python 子进程和父进程参数传递