首页 > 其他分享 >TypeScript语法总结

TypeScript语法总结

时间:2024-10-15 15:20:05浏览次数:3  
标签:总结 node TypeScript string ts number 语法 let 类型

1.Typescript概述

融合了后端面向对象思想的超级版的JavaScript语言。

​ TypeScript是JavaScript的超集,扩展了JavaScript的语法。

特点:

(1) TypeScript: 【静态类型检查器】 可在编译时检查错误

(2) TypeScript为JS的超集

(3) TS === JS + 【类型】 js有的ts都有

(4) TS 规范了 JS类型声明 使之更加严谨

TypeScript本质就是带有类型检查的JavaScript。

好处:

javascript,灵活,但会使程序出现不可预知的错误,运行时才检测。

typescript,编译时发现错误,更好的代码提示。规范代码,提升代码可读性,提高开发效率。

2.环境准备

基于node环境,vscode工具+Typescript插件。

npm i typescript -g  // 全局安装Typescript 

tsc -v // 查看ts版本

新建一个项目,在其中新建一个ts文件demo.ts,文件内容如下

console.log("hi Typescript") //先使用js的代码内容

由于ts文件是不能够在浏览器中解析的,ts文件首先需通过编译,编译后才能被浏览器解析,用命令

// tsc + 文件名
tsc demo.ts // 将ts转为js浏览器可识别的代码

原因:PowerShell的默认执行策略是Restricted,它禁止运行任何脚本和配置文件。故需更改PowerShell的设置来更改脚本的执行策略。

编译后在目录下产生一个和ts文件同名的js文件,此时用node命令对该js文件进行解析,用node命令

// node + 文件名
node demo.js


由于每次ts修改都需使用tsc命令进行编译成js,比较麻烦,可使用以下命令进行侦听,当文件发生变化后,会自动编译ts。

tsc demo.ts -w


此时该终端窗口不关,新开一个窗口 直接执行node命令

node demo.js


这里只是对单个文件进行监听,若项目中有很多的ts文件,如何对所有文件进行侦听呢。

先在项目下新建一个tsconfig配置文件,也可执行以下命令生成:

tsc --init // 生成tsconfig配置文件


![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=C%3A%5CUsers%5CYTT%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5C1701508204525.png&pos_id=img-QUdjgcr7-1728961407600)

此时再在项目中执行以下命令则可以对整个项目的ts文件进行监听了。

tsc -w


还有更简洁的方式(直接运行ts文件方法),需安装以下包

安装ts-node

 *ts-node* 是一个TypeScript执行引擎,能让我们在 Node.js 环境下直接运行 TypeScript 代码。 

npm i ts-node -g


npm init -y // 初始化一个package.json


安装声明文件

npm i @types/node -D


**@types/node**是TypeScript的一个声明文件包,用于描述Node.js核心模块和常用的第三方库的类型信息。

这些声明文件增加了对ts在Node.js环境下的支持,并提供了更好的类型安全和编辑器智能提醒。

@types/node提供了更好的Node.js环境下TypeScript的类型声明支持,能够获得更好的类型提示及错误提示等。



安装完毕后,可直接用命令执行ts文件!

ts-node index.ts


此时可直接用命令执行ts文件!

### 3.数据类型

#### 3.1 基本类型(原始类型)

原始类型(string, number, boolean, undefined, null)

特点:简单,这些类型,完全按照 JS 中类型的名称来书写。

//string类型
let str: string = ‘abcdefg’; //:string 表示【类型注解】,声明变量的时候就进行类型约束
console.log(“

标签:总结,node,TypeScript,string,ts,number,语法,let,类型
From: https://blog.csdn.net/weixin_44493427/article/details/142940129

相关文章

  • 大模型-AIAgent 智能体现状总结
    目录AutoGen面向多个agent的开源框架,agent可定制可对话能够无缝的允许人类参与有一个masteragent制定计划分发给不同的agent-->智能体去中心任意两个可直接对话(或者分层的结构上下两层之间才能交互)构建复杂的多智能体对话系统,基于llm工作流,agent可以是基于llm,工具或......
  • 灾难恢复:邮箱数据库操作总结:整理 查询邮箱数据库大小和空白数据大小(重要文档)
    灾难恢复:邮箱数据库操作总结:整理查询邮箱数据库大小和空白数据大小(重要文档)邮箱数据库整理查询邮箱数据库大小和空白数据大小AvailableNewMailboxSpace是指的这个总空间里可以被“减肥”掉的空间。Get-MailboxDatabase db0* -Status|FTName,@{n="MailboxCount";e={(Get-M......
  • 2024-10-10 模拟赛总结
    \(100+100+0+20=220\),部分分还是没有拿满。比赛链接:http://172.45.35.5/d/HEIGETWO/homework/6707886f6735d3863dc8c0ef或http://yl503.yali.edu.cn/d/HEIGETWO/homework/6707886f6735d3863dc8c0efA-植物收集/collect题意:你要收集\(n\)个阶段的植物,你可以选择花费\(a......
  • c++基础语法知识
    基础当VS中一个项目下有两个及以上的源文件时,编译会产生错误:main已经在test.obj中定义;找到一个或多个多重定义的符号。**解决办法:**将不需要编译的源文件排除:右键“属性”,将“从生成中排除”选择“是”,保存后再运行需要运行的源文件就可以成功,且被排除的文件右下角有红标......
  • 数据解析 - xpath 语法
    1、基础语法(1)/说明:从根节点开始。示例:/html/body(2)//说明:选择匹配的任何位置。示例://input(3).说明:当前节点。(4)..说明:父节点。(5)@说明:选择属性。示例://*[@id="kw"]#表示选择具备id="kw"属性的节点(6)[node]说明:选择所有node子元素。(7)[@attr]说明:选取带有attr属......
  • NFLS 241014 比赛总结
    T1JZOI5246TripProblem有一串长为\(n\)的序列\(a\),有\(m\)组询问,每组询问给出一个区间,求区间内有多少个数满足以下条件之一:在区间内,它的左侧不存在大于它的数。在区间内,它的右侧不存在大于它的数。Solution离散化,用权值线段树求出序列上每个数左边和右边第一个比它......
  • 2024年10月14日总结
    今日新学了20个单词,复习32个。上午上了一节数据结构课学了些栈和队列,下午上了java课。出于竞赛知识需要,晚上学了些二叉树三种遍历方式的相关知识。以下是我用cpp完成的前序,中序,后序遍历二叉树的代码实现。includestructTreeNode{intval;TreeNode*left;TreeNode*right;......
  • 进程间通信--整理总结
    前言:进程间通信(IPC,Interprocesscommunication)是一组编程接口,让程序员能够协调不同的进程,使之能在一个操作系统里同时运行,并相互传递、交换信息。这使得一个程序能够在同一时间里处理许多用户的要求。因为即使只有一个用户发出要求,也可能导致一个操作系统中多个进程的运行,进程之间......
  • AutoSar AP CM模块骨架侧的服务方法的总结
    一、服务方法特性骨架侧的服务方法是抽象方法,需由继承骨架的服务实现子类重写。以服务示例中的Adjust方法为例:structAdjustOutput{boolsuccess;Positioneffective_position;};virtualara::core::Future<AdjustOutput>Adjust(constPosition&position)=......
  • 2024/10/14 模拟赛总结
    \(0+100+40+0=140\),怎么都会T3啊#A.char令\(dp_{i,j}\)为已经考虑了文本串前\(i\)位且将所有*填入了字符,匹配了模式串的前\(j\)位的方案总数转移显然,若第\(i\)位不是*,则只有这一位和模式串相等才会有答案,即\(dp_{i,j}=\begin{cases}dp_{i-1,j-1}&s_i=t_k\\0&......