TypeScript 基本概念

news2024/9/29 11:29:08

TypeScript 是什么?

目标:能够说出什么是 TypeScript

  • TS 官方文档

  • TS 中文参考 - 不再维护

TypeScript 简称:TS,是 JavaScript 的超集,JS 有的 TS 都有  

TypeScript = Type + JavaScript(在 JS 基础之上,添加了类型支持

为什么要有 TypeScript?

目标:能够说出为什么需要有 TypeScript

为什么要有 TypeScript:

  1. 更早的发现代码错误

  2. 拥有代码提示

  3. 市面上流行的框架和库都在使用 TS

1. 更早的发现代码错误:

test.js

js 在执行时才会发现类型的错误

let num = 123
num = 'abc'
console.log(num.toFixed(2))

 test.ts

 ts 在编写代码时,就会暴露类型错误

对比:

  • 使用 JS:

    1. 在 VSCode 里面写代码

    2. 在浏览器中运行代码 --> 运行时,才会发现错误【晚】

  • 使用 TS:

    1. 在 VSCode 里面写代码 --> 写代码的同时,就会发现错误【早】

    2. 在浏览器中运行代码

2. 拥有代码提示

3. 市面上流行的框架和库都在使用 TS

Vue 3 源码使用 TS 重写、Angular 默认支持 TS、React 与 TS 完美配合,TypeScript 已成为中大型前端项目的首选编程语言

目前,前端最新的开发技术栈:

  1. React: TS + Hooks

  2. Vue: TS + Vue3

注意: Vue2 对 TS 的支持不好~

编译 TS 代码

目标:能够理解 typescript 的运行步骤

为什么要编译 TS

浏览器,只认识 JS 代码,不认识 TS 代码。需要使用 TS 编辑工具将 TS 代码转化为 JS 代码,然后才能浏览器中运行。

安装 TS 编译工具 

npm i -g typescript 
# or
yarn global add typescript

# mac
sudo npm i -g typescript
# or
sudo yarn global add typescript

验证是否安装成功:tsc –v(查看 typescript 的版本)

编译 TS

  1. 创建 hello.ts 文件

let num = 123
num = 'abc'
console.log(num.toFixed(2))
  1. 将 TS 编译为 JS:在终端中输入命令,tsc hello.ts

  2. 此时,在同级目录中会出现一个同名的 JS 文件

真正在开发过程中,其实不需要自己手动的通过 tsc 把ts 文件转成 js 文件,这些工作应该交给 webpack 或者 vite 来完成

创建基于 TS 的 vue 项目

目标:能够使用 vite 创建 vue-ts 模板的项目

基于 vite 创建一个 vue 项目,使用 typescript 模板

目标:能够使用 vite 创建 vue-ts 模板的项目
基于 vite 创建一个 vue 项目,使用 typescript 模板

删除 src 下面除了 vite-env.d.ts 类型声明文件,其他文件和文件夹都可以删掉,我们只要这个项目的 ts 运行环境

再创建 src/main.ts 文件

// 在当前项目环境下,要求每一个ts文件都是一个独立的模块

// 所以在ts文件中随便加入一个导入的代码,编译器就认为当前ts文件是一个独立的模块

export {}

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

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

相关文章

Linux下文件的增删查改

1.什么是文件 文件是计算机文件属于文件的一种,与普通文件载体不同,计算机文件是以计算机硬盘为载体存储在计算机上的信息集合。文件文件内容文件属性。 2.文件的创建 文件的创建分为两种指令:touch和mkdir touch是用来创建普通文件的&am…

(C语言版)力扣(LeetCode)数组相关面试题OJ题解析

数组相关面试题 26. 删除有序数组中的重复项题目说明示例一示例二提示解析 27.移除元素题目说明示例1示例2提示解析解法一解法二 88. 合并两个有序数组题目示例一示例二示例三提示解析 结语 26. 删除有序数组中的重复项 题目 给你一个 升序排列 的数组 nums ,请你…

Verilog HDL——Modelsim仿真

常用testbench语法 $finish 和 $stop : $finish任务用于终止仿真并跳出仿真器;$stop任务则用于中止仿真。timescale [time_unit] / [time_precision] :time_unit指定计时和延时的测量单位,time_precision则是指定仿真器的精度。#…

7.3 有源滤波电路(1)

对信号的频率具有选择性的电路称为滤波电路,它的功能是使特定频率范围内的信号通过,而阻止其它频率信号通过。有源滤波电路是应用广泛的信号处理电路。 一、滤波电路的基础知识 1、滤波电路的种类 通常,按照滤波电路的工作频带为其命名&am…

C语言从入门到精通第17天(指针和数组联用)

指针和数组联用 不同类型指针变量之间的区别数组的指针指针数组 不同类型指针变量之间的区别 在了解数组和指针联用之前,我们先对指针变量进行补充。我们对比一下int *p1和char *p2的区别? 相同点: 都是指针变量都是用来保存一个内存地址编…

中级软件设计师备考---软件工程1

目录 经典的模型敏捷开发方法【的分类】信息系统开发方法【的分类】结构化设计---内聚与耦合结构化设计---系统结构/模块结构 需求的分类 经典的模型 瀑布模型:最早的一类、适用于需求明确的项目、结构化的典型代表 原型模型:先构造一个建议的系统原型再…

数据治理服务及数据治理应用解决方案

本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除。 一、数据治理概述 (一) 数据治理概念 数据治理是指将数据作为组织资产围绕数据全生命周期而展开的相关管控活动、绩效和风险管理工作的集合,以保障数据及其应用…

Nmap入门到高级【第十章】

预计更新Nmap基础知识 1.1 Nmap简介和历史 1.2 Nmap安装和使用方法 1.3 Nmap扫描技术和扫描选项 Nmap扫描技术 2.1 端口扫描技术 2.2 操作系统检测技术 2.3 服务和应用程序检测技术 2.4 漏洞检测技术 Nmap扫描选项 3.1 扫描类型选项 3.2 过滤器选项 3.3 探测选项 3.4 输出选项…

中间件漏洞(二)nginx解析漏洞

目录 1.漏洞原理分析 2. 利用条件 3. 漏洞复现 1.漏洞原理分析 Nginx的解析漏洞的出现和Nginx的版本没有关系,漏洞的产生是由于php配置问题导致的。 2. 利用条件 # php.ini cgi.fix_pathinfo1 # php-fpm.conf security.limit_extensions 分别解释一下cgi.fix_…

Sentinel --- 隔离和降级、授权规则、规则持久化

一、隔离和降级 限流是一种预防措施,虽然限流可以尽量避免因高并发而引起的服务故障,但服务还会因为其它原因而故障。 而要将这些故障控制在一定范围,避免雪崩,就要靠线程隔离(舱壁模式)和熔断降级手段了…

HTTP加密

文章目录 原理方式证书 原理 HTTP HTTPS TLS/SSL(数据的加密解密层) HTTP是应用层的协议,当应用层向下访问的时候并不是直接访问到socket层,而是先通过TLS/SSL加密解密层后再进行后续工作。此时得到的协议就是HTTPS。 举个例…

【五一创作】排序篇:冒泡排序,快速排序的递归与非递归实现(C语言)

目录 前言: 一:冒泡排序 基础思路 完整排序 时间复杂度分析 二:递归实现快速排序 基础思路 单趟排序 (1)双向扫描法 (2)挖坑法 (3)前后指针法(推荐这种) 完整排序 时间复杂度分析 优化 (1)三数取中 (2)小区间优化 三&#xf…

基于Vue3+TS+Vite+Cesium创建项目

基于Vue3TSViteCesium创建项目 基于Vite构建项目安装配置Cesium创建Cesium三维视图运行结果 随着近几年社会的发展,人们对三维可视化的需求也是越来越多,三维GIS如今真的越来越火了,对于做GIS前端开发的人员来说,Cesium开发是绝对…

PLC模糊PID(模糊规则表)

模糊PID的模糊化相关内容,请参看下面的博客文章: PLC模糊控制模糊PID(梯形图实现+算法分析)_RXXW_Dor的博客-CSDN博客博途PLC的模糊PID控制详细内容请查看下面的博客文章:Matlab仿真+博途PLC模糊PID控制完整SCL源代码参考(带模糊和普通PID切换功能)_博途怎么实现模糊pid_…

linux驱动开发 - 08_内核定时器

文章目录 1 Linux 时间管理和内核定时器简介1.1 内核时间管理简介1.2 内核定时器简介1、init_timer 函数2、add_timer 函数3、del_timer 函数4、del_timer_sync 函数5、mod_timer 函数 1.3 Linux 内核短延时函数 2 实验程序编写2.1 定时器驱动程序编写2.2 编写测试 APP 3 编译驱…

【Linux】管道

目录 一、前言 二、管道 1、匿名管道 1.1、基本原理 1.2、代码实现 1.3、管道的特点 1.4、基于管道的简单设计 2、命名管道 2.1、匿名管道与命名管道的区别 2.2、代码实现命名管道通信 一、前言 为了满足各种需求,进程之间是需要通信的。进程间通信的主要目…

【VM服务管家】专题_7.5 异常收集

目录 5.1 信息收集:异常报错信息收集的方法5.2 日志等级:日志等级调低的方法 5.1 信息收集:异常报错信息收集的方法 描述 环境:VM4.0以上VS2013及以上 现象:未知问题、偶发问题、崩溃问题如何收集信息提供给研发排查。…

【Linux】基础IO——库函数与系统调用的关系

目录 引言1.文件操作语言方案(C的文件操作接口-库函数)打开文件、关闭文件——fopen、fclose打开文件的模式 写入——fput、printf读取——fgets 2.文件操作系统方案(系统的文件操作接口-系统调用)打开文件、关闭文件——open、cl…

【游戏逆向】Lua游戏逆向及破解方法介绍

前言 随着手游的发展,越来越多的Cocos-lua端游开发者转移到手游平台。Lua脚本编写逻辑的手游也是越来越多,如梦幻西游、刀塔传奇、开心消消乐、游龙英雄、奇迹暖暖、疾风猎人、万万没想到等手游。随着Lua手游的增加,其安全性更值得关注&…

python基本数据类型---数字字符串

引入 在内存中存储的数据可以是不同的数据类型。比如名字可以使用字符串存储,年龄可以使用数字存储,python有6种基本数据类型,用于各种数据的存储,分别是:numbers(数字类型)、string(字符串)、List(列表)、Tuple(元组…