TypeScript 基本概念

news/2024/11/7 14:33:56/

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.ppmy.cn/news/64147.html

相关文章

进阶自动化测试,这3点你一定要知道的...

自动化测试指软件测试的自动化,在预设状态下运行应用程序或系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。 自动化测试框架一般可以分为两个层次,上层是管理整个自动化测试的开发&a…

如何解决Redis的双写一致性

目录 1.更新策略2.问题场景3.解决方案 1.更新策略 Redis和MySQL的默认的更新策略是旁路缓存策略,旁路缓存策略又有写策略和读策略 写策略:更新时,先更新数据库,再更新缓存 读策略:读取数据时,如果命中缓…

Centos-7 安装 RabbitMQ指定版本并配置

一站式流程,从安装到抬走,就这一篇文章就够了! PS:网上的大哥们,你们写文章好歹自己测试一下啊。。。/(ㄒoㄒ)/~~ 1. 来这个网址找到 RabbitMQ 与 Erlang 版本对应关系 RabbitMQ Erlang Version Requirements — Ra…

【Spring Cloud Alibaba】Nacos config的使用和高阶用法

文章目录 🐍第一步,创建配置文件到nacos中🐍第二步,在项目中配置nacos的地址和指定文件🐍第三步,读取配置文件🐦高阶用法🐦高阶用法一:使用yaml文件🐦第一步&…

【Hello Network】网络编程套接字(三)

作者:小萌新 专栏:网络 作者简介:大二学生 希望能和大家一起进步 本篇博客简介:简单介绍下各种类型的Tcp协议 各种类型Tcp服务器 多进程版的TCP网络程序捕捉SIGCHLD信号让孙子进程执行任务 多线程TCP网络程序线程池版多线程TCP网络…

刘媛媛学习方法笔记

底层策略专业方法执行技术在当下这个时代,天才是3%的努力加97%不被互联网分心的能力。 学习方程式 主:学习时间,学习时精力,注意力,目标,策略 次:学习动机 学习动机 证明自己的能力。正向循环对知识有好奇心。正向循环为了学历。缺陷赚钱。缺陷为了别人的期待。痛苦 3…

JavaScript中的数据类型和类型转换问题

JavaScript是一种动态类型的编程语言,它的变量不需要在声明时指定类型,可以根据变量的值自动推断类型。JavaScript中有许多数据类型,包括基本数据类型和复杂数据类型。在本文中,我们将介绍JavaScript中的数据类型和类型转换问题。…

C++基础-介绍·数据结构·排序·算法

C基础-介绍数据结构排序算法 特点使用方向RPC数据结构栈 Stack堆 Heap队列 List数组 Array链表 LinkTable树 Tree(普通)二叉树二叉查找树 Tree Search平衡二叉树红黑树 冒泡排序选择排序Insertsort 插入排序Quicksort 快速排序Binarysearch 二分查找/折半…