4. TypeScript

news2024/11/19 14:41:11

目录

1 TypeScript 介绍

2 TypeScript 常用类型

2.1 类型标注的位置

2.2 字符串、数字、布尔类型

2.3 字面量类型

2.4 interface 类型

2.5 class 类型


Vue1:基础跟使用方式

Vue2:路由方面

Vue3:状态管理 vuex 状态管理库

1 TypeScript 介绍

  • TypeScript(简称:TS) 是微软推出的开源语言

  • TypeScript 是 JavaScript 的超集(JS 有的 TS 都有)

  • TypeScript = Type + JavaScript(在 JS 基础上增加了类型支持)

  • TypeScript 文件扩展名为 ts

  • TypeScript 可编译成标准的 JavaScript,并且在编译时进行类型检查

在前端项目中使用TS,需要进行安装,命令为:npm install -g typescript

查看TS版本

TS运用:

创建 hello.ts 文件,内容如下:

//定义一个函数 hello,并且指定参数类型为string
function hello(msg:string) {
      console.log(msg)
}
​
//调用上面的函数,传递非string类型的参数
hello(123)

使用 tsc 命令编译 hello.ts 文件

可以看到编译报错,提示参数类型不匹配。这说明在编译时TS会进行类型检查。需要注意的是在编译为JS文件后,类型会被擦除。

TS 要增加类型支持 的一些原因(网上找的 具体看实用情况)

  • TS 属于静态类型编程语言,JS 属于动态类型编程语言

  • 静态类型在编译期做类型检查,动态类型在执行期做类型检查

  • 对于 JS 来说,需要等到代码执行的时候才能发现错误(晚)

  • 对于 TS 来说,在代码编译的时候就可以发现错误(早)

  • 配合 VSCode 开发工具,TS 可以提前到在编写代码的同时就发现代码中的错误,减少找 Bug、改 Bug 的时间

 在前端项目中使用TS,需要创建基于TS的前端工程:

2 TypeScript 常用类型

TS中的常用类型如下:

类型备注
字符串类型string
数字类型number
布尔类型boolean
数组类型number[],string[], boolean[] 依此类推
任意类型any相当于又回到了没有类型的时代
复杂类型type 与 interface
函数类型() => void对函数的参数和返回值进行说明
字面量类型"a"|"b"|"c"限制变量或参数的取值
class 类class Animal
2.1 类型标注的位置

基于TS进行前端开发时,类型标注的位置有如下3个:

  • 标注变量

  • 标注参数

  • 标注返回值

2.2 字符串、数字、布尔类型

字符串、数字、布尔类型是前端开发中常用的类型

2.3 字面量类型

字面量类型用于限定数据的取值范围,类似于java中的枚举

2.4 interface 类型

interface 类型是TS中的复杂类型,它让 TypeScript 具备了 JavaScript 所缺少的、描述较为复杂数据结构的能力。

可以通过在属性名后面加上?,表示当前属性为可选,如下        :

2.5 class 类型

使用 class 关键字来定义类,类中可以包含属性、构造方法、普通方法等

在定义类时,可以使用 implments 关键字实现接口,如下:

在定义类时,可以使用 extends 关键字 继承其他类,如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1442829.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙原生应用再添新丁!央视新闻 入局鸿蒙

鸿蒙原生应用再添新丁!央视新闻 入局鸿蒙 来自 HarmonyOS 微博2月9日消息,#央视新闻启动鸿蒙原生应用开发#中央广播电视总台旗舰央视新闻客户端正式宣布,将基于HarmonyOS NEXT鸿蒙星河版,启动央视新闻 鸿蒙原生应用开发&#xf…

springboot微信小程序 uniapp学习资料分享系统v9uy4

理论意义 当今网络教学已成为各国教育改革 和发展的趋势。因此,构建一个适合交互式课堂教学模式的教学平台就成了当务之 急。 在国内高校,目前交互平台主要用于网络学院的远程教学,至于校园内的正规教学,老师自发建立课程主页的比…

Web后端开发:事务与AOP

事务管理 在学习数据库时,讲到:事务是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体,一起向数据库提交或者是撤销操作请求,要么同时成功,要么同时失败。 事务的操作主要有三…

VUE学习——数组变化侦测

官方文档 变更方法: 使用之后,ui可以直接发生改变。改变原数组 替换数组: 使用之后需要接受重新赋值,不然ui不发生改变。不改变原数组

深度学习的进展及其在各领域的应用

深度学习,作为人工智能的核心分支,近年来在全球范围内引起了广泛的关注和研究。它通过模拟人脑的学习机制,构建复杂的神经网络结构,从大量数据中学习并提取有用的特征表示,进而解决各种复杂的模式识别问题。 一、深度…

一、OpenAI API介绍

Open AI API可以应用到任何的业务场景。 文本生成 创造助理 嵌入数据 语音转化 图片生成 图片输入 1. 核心概念 1.1 Text generation models OpenAI 的文本生成模型(通常被称为generative pre-trained transformers 模型简称:GPT),有GPT-4和G…

RCS-YOLO复现

复现结果–Precision:0.941,Recall:0.945,AP 50 _{50} 50​:0.941,AP 50 : 95 _{50:95} 50:95​:0.693,误差在5个点内,可以接受 感想 第5篇完全复现的论文

postman接口功能测试

前言 之前还没实际做过接口测试的时候呢,对接口测试这个概念比较渺茫,只能靠百度,查看各种接口实例,然后在工作中也没用上,现在呢是各种各样的接口都丢过来&…

客观看待前后端分离,优劣、场景、对程序员职业的影响

前后端分离倡导多年了,现在基本成为了开发的主流模式了,贝格前端工场承接的前端项目只要不考虑seo的,都采用前后端分离模式。 一、在前端开发中,前后端分离是指什么 在前端开发中,前后端分离是一种架构模式&#xff…

python爬虫入门(一)

使用requests 库获取网站html信息 import requests response requests.get("https://jingyan.baidu.com/article/17bd8e52c76b2bc5ab2bb8a2.html#:~:text1.%E6%89%93%E5%BC%80%E6%B5%8F%E8%A7%88%E5%99%A8F12%202.%E6%89%BE%E5%88%B0headers%E9%87%8C%E9%9D%A2%E7%9A%84…

Java:集合以及集合进阶 --黑马笔记

一、集合概述和分类 1.1 集合的分类 除了ArrayList集合,Java还提供了很多种其他的集合,如下图所示: 我想你的第一感觉是这些集合好多呀!但是,我们学习时会对这些集合进行分类学习,如下图所示:…

微信小程序上传代码教程

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 小程序上传代码到gogs上面来 整体架构流程 小程序也要远程连接仓库,实现代码上传 技术名词解释 微信开发者工具gogs 技术细节 连接gogs仓库地址 微信小程序需要head将本地代码和gogs代码同步 小结 …

【C生万物】数组

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有…

node.js基础-02

Author nodes:(题记) Hypertest Transfer protocol is very important to programming personnel。it doesnt matter if youre a front-end engineer or a back-end engineer.So,lets study it together. http协议对于编程工程师很重要&am…

python coding with ChatGPT 打卡第19天| 二叉树:合并二叉树

相关推荐 python coding with ChatGPT 打卡第12天| 二叉树:理论基础 python coding with ChatGPT 打卡第13天| 二叉树的深度优先遍历 python coding with ChatGPT 打卡第14天| 二叉树的广度优先遍历 python coding with ChatGPT 打卡第15天| 二叉树:翻转…

【C++】实现一个二叉搜索树

目录 二叉搜索树的概念 1.结点定义 2.构造、析构、拷贝构造、赋值重载 3.插入、删除、查找、排序 3.1插入 3.2插入递归版 3.3查找指定值 3.3查找指定值递归版 3.4中序遍历 3.5删除 最后 二叉搜索树的概念 二叉搜索树又称为二叉排序树或二叉查找树,它或者…

python WEB接口自动化测试之requests库详解

由于web接口自动化测试需要用到python的第三方库--requests库,运用requests库可以模拟发送http请求,再结合unittest测试框架,就能完成web接口自动化测试。 所以笔者今天先来总结一下requests库的用法。希望对大家(尤其是新手&…

使用CICFlowMeter 实现对pcap文件的特征提取【教程】

使用CICFlowMeter 实现对pcap文件的特征提取【教程】 针对现有的关于CICFlowMeter 的使用教程不够全面,一些细节没有展示,我将结合网络上的相关资料和实际的经历,提供一些经验和建议。 configuration information --------------- Windows…

hexo部署到gitee(码云)

引言 Hexo 是一个基于Node.js的静态博客框架,而 Gitee(也被称为码云)是一个国内的代码托管平台,支持 Git 版本控制系统,与 GitHub 类似。将 Hexo 部署到 Gitee Pages 可以让你的博客受益于 Gitee 的国内服务器&#xf…

详解计算机软件基本概念

软件基本概念 软件的定义 一个完整的计算机系统是由硬件系统和软件系统协同工作来完成某一给定的任务的。 只有硬件的计算机称为裸机,裸机必须安装了计算机软件后才可以完成各项任务。 从广义地讲,软件是指计算机程序、数据以及开发、使用和维护程序…