首页 > 其他分享 >TypeScript笔记(一)

TypeScript笔记(一)

时间:2024-07-07 11:52:07浏览次数:12  
标签:TypeScript string TS ts 笔记 number 类型 JS

一、TypeScript = Type + JavaScript

    在JS基础上,为JS增加了类型支持。TS属于静态类型的编程语言,在编译期间做类型检查,可以在代码编写期间发现问题,减少调试时间。

TS相比JS的优势:

1、更早的发现错误,减少调试时间;

2、代码提示;

3、提升可维护性;

4、ECMAScript;

5、TS有类型推断机制;

TS已成为大中型前端项目的首要编程语言。

二、安装编译TS的工具包

Node.js/浏览器只支持JS代码,不支持TS代码,因此需要先将TS代码转化为JS代码,然后才能运行。

npm i -g typescript

typescript 包提供tsc命令,实现TS到JS的转化

三、执行TS文件

单步执行:

tsc hello.ts // compile ts file
node hello.ts // execute ts file

一步执行,需安装ts-node

npm i -g ts-node
ts-node hello.ts

四、常用类型

4.1 基础

1、JS已有类型:

原始类型:number/string/boolean/null/undefined/symbol;

对象类型:object(包括数组、对象、函数等);

2、TS新增类型:

联合类型、自定义类型(类型别名)、接口、元祖、字面量类型、枚举、void、any等

4.2 数组类型

let nums:number[] = [1,3,5];
let strs:Array[] = ['a','b','c'];

数组中既有number,又有string,用联合类型,用 | 

let arr:(number|string)[] = [1,'a']

4.3 类型别名

为任意类型重命名,简化类型书写多次的问题

type CustomArr = (number | string)[]
let test: CustomArr = [123,"aaa"]
console.log(test)

4.4 函数类型

          函数名    参数列表,冒号         返回值,冒号
function addNum(num1:number, num2:number):number { return num1 + num2; }

另外,也可以使用函数表达式的方式声明函数:

     函数名      参数列表,冒号       返回值,冒号  箭头标识{ 函数体 }
const add = (num1:number, num2:number):number => { return num1+num2 }

无返回值:

function greet(name:string):void {
    console.log('hello'+name)
}

可选参数:

function mySlice(start?:number, end?:number):void {
    console.log('start index ', start, 'end index ', end);
}
mySlice()

 

标签:TypeScript,string,TS,ts,笔记,number,类型,JS
From: https://www.cnblogs.com/jiayayao/p/18282703

相关文章

  • FFmpeg开发笔记(三十六)Linux环境安装SRS实现视频直播推流
    ​《FFmpeg开发实战:从零基础到短视频上线》一书在第10章介绍了轻量级流媒体服务器MediaMTX,通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流。不过MediaMTX的功能实在是太简单了,无法应用于真实直播的生产环境,真正能用于生产环境的流媒体服务器还要看SRS或者ZLMediaKit。SRS是一......
  • 《Programming from the Ground Up》阅读笔记:p19-p48
    《ProgrammingfromtheGroundUp》学习第2天,p19-p48总结,总计30页。一、技术总结1.objectfilep20,Anobjectfileiscodethatisinthemachine'slanguage,buthasnotbeencompletelyputtogether。之前在很多地方都看到objectfile这个概念,但都没有看到起定义,这次......
  • 抓包工具--Charles使用笔记
    抓取APP接口的请求,查看请求和响应数据,可确定问题出现在前端还是后端;Charles下载个人笔记1、快速获取对应地址快速获取代理地址,可以按照下图方式去获取,电脑上如果有安装虚拟机IP地址会不同;需要快速定位到自己设备的IP地址时,可以直接查看,不用输入命令去查找;当然,iPhone设备......
  • nacos学习笔记之服务发现中心
    一.什么是服务发现在微服务中,服务的消费方需要调用服务的生产方,这样服务的消费方就需要知道服务的消费方的网络地址(ip+端口号)。二、流程上图中服务实例本身并不记录服务生产方的网络地址,所有服务实例内部都会包含服务发现客户端(例如springcloud中的ribbon)。(1)在每个服务启动......
  • 大学生的笔记本应该是怎么的样子
    最近呢因专业课程到MT实习,入职的时候发台办公笔记本,可以在Macbook和Surface之间选,本人之前从未使用过Macbook产品,为了体验一下,就选了Macbook而非Surface,在这里记录一下想法。本人之前的生产力工具:台式机:无笔记本:ROG幻152020(i7,RTX2060,16GB+1TB+扩1TB)手机:iPh......
  • 【论文笔记】UniST:通用预训练城市时空预测模型
    目录写在前面1.通用时空模型的挑战与能力特性2.构建通用时空模型UniST2.1大规模时空预训练2.2时空知识规则引导提示学习3.UniST的实验与分析3.1模型预测效果3.2其他实验分析写在前面文章标题:UniST:APrompt-EmpoweredUniversalModelforUrbanSpatio-Te......
  • C#学习笔记-事件
    事件  事件是类的一种成员,能够使类或对象具备通知能力。事件用于对象或类间的动作协调和信息传递。假设类A有某个事件,当这个事件发生时,类A会通知并传递事件参数(可选)给有订阅这个事件的类B,类B根据拿到的事件信息对事件进行响应处理。事件模型事件模型的5个组成部分:1、事......
  • 小红书笔记没有热度没有流量是怎么回事?
    ​ 文末领取小红书电商开店运营教程!相信很多人做小红书开店,结果发布的笔记没有热度,没有流量,难以挣到钱小红书笔记没有热度没有流量可能是以下原因:1:发布违规内容小红书社区有明确的规范,禁止发布一些违规内容。如果你的笔记涉及违规内容,那么系统会对你的笔记进行限制曝光甚......
  • MIT6.824-2022 分布式系统课程实验笔记 Lab 2A Raft-领导者选举(leader election)--xu
    Lab2A:Raft文章目录Lab2A:RaftLab1:MapReduceLab2:Raft实验解读Lab2B:日志复制我的代码实现(附带详细代码注释)前言Part2A:[leaderelection](中等难度)提示错误:实现细节(包含对于方法的解释如有错误大佬勿喷)结构体GetState()获取节点任期和角色sendAllRequestVote()发起投票......
  • MIT6.824-2022 分布式系统课程实验笔记 Lab 2B Raft-日志复制(Log Replication)--xunznu
    Part2B:LogReplication日志复制(困难)文章目录Part2B:LogReplication日志复制(困难)Lab1:MapReduceLab2:Raft实验解读Lab2A:领导者选举leaderelection我的代码实现(附带详细代码注释)提示:实现细节:1、commitIndex和lastApplied2、nextIndex和matchIndex3、Co......