首页 > 其他分享 >OJ中Typescript语法整理

OJ中Typescript语法整理

时间:2022-11-11 08:11:26浏览次数:64  
标签:Typescript OJ number 语法 let 数组 类型 new Array

基础

原始类型

原始类型:number/string/boolean/null/undefined/symbol
对象类型:oject(数组,对象,函数等)
自定义复杂的对象类型:
type CustomArray = (number | string)
let arr1: CustomArray = [1,'a',3,'b']
let arr2: CustomArray = ['x','y',6,7]
函数类型:本质是函数的参数和返回值类型

function add(num1:number,num2:number):number{
    return num1 + num2;
}

const add = (num1:number,num2:number):number =>{
    return num1 + num2;
}

函数

可选参数:在可传可不传的参数名称后面添加?,可选参数只能出现在参数列表的最后

function mySlice(start?:number,end?:number):void{
}

变量定义与类型

1)变量定义方法: let 变量名:变量类型
2)具有原始类型和对象类型,原始类型有:number、string、boolean、undefined、null
3) 变量的声明有let和var,const,var函数作用域,let,const是块级作用域(块级作用域通俗来说一对花括号包起来的区域),
4) any类型代表当前类型无法确定,实际项目中应该减少使用any类型

字符串

使用常识
官方推荐用法

官方不推荐使用Number,String,Boolean,Symbol,Object等包装类型对象进行类型定义,
推荐采用原子数据类型:number, string, boolean, and symbol和非原子数据类型type进行替代。

Js将字符串转数字的方式'

Number.parseInt();   
num = Number(str);     // 将字符串转化为数字 
str1 = String(num1);   // 将数字转换为字符串

官方包装数据类型String用法

var var_name = new String(string);
charAt()         // 返回字符
charCodeAt()     // 返回字符对应的number
toLowerCase()    // 将字符串变成小写
substring()      // 字串
String.fromCharCode(s.charCodeAt(idx)^32)   //将字符产idx位置的字符进行大小写转换

数组

常识: typescript数组以下简化写法

Array<number>   =>  number[]
Array<string>   =>  string[]

定义

let array1:Array<number>;
let array2:number[];      
const he = new Array<number>(N);                // 数组分配固定大小的空
e = new Array<number>(M).fill(0);               // 1维数组定义并初始化
let array:Array<number> = [1,2,3,4];
const dirs = [[1,0],[-1,0],[0,1],[0,-1]]        // 2维数组定义
const dist = new Array<Array<Array<number>>>()  // 3维数组定义
for (let i = 0; i < n; i++) {                   // 3维数组初始化
    dist[i] = new Array<Array<number>>(m)
    for (let j = 0; j < m; j++) {
        dist[i][j] = new Array<number>(1 << 10).fill(0x3f3f3f3f)
    }
}
let arr:(number | string)[] = [1,'a',3,'b']     // 联合数组对象

常用方法

array[4] = 5;           // 赋值
array.push(6);          // 添加
array.fill(-1);         // 数组初始化为-1
array.splice(index, howMany, [element1][, ..., elementN]);
array.reduce((prev,next)=>{return prev + next.num;},0);  

Map对象

ts是js的超集,map在js就已经得到支持。

定义

let map = new Map();
let map = {}

操作

支持map[key]的形式进行访问和修改
set/get/has:设置,获取,检查

常用数学函数

Math.max(res,cnt);  // 取较大值
Math.pow(5, 3);     // 
Number.MAX_VALUE    // 最大的浮点数

Reference

标签:Typescript,OJ,number,语法,let,数组,类型,new,Array
From: https://www.cnblogs.com/kfcuj/p/16879418.html

相关文章

  • OJ中go语法整理
    对比Java需要注意的语法细节:1)没有++i,只能i++;无while循环,可以用“for条件”替代,无法定义不使用的变量;没有整型变量的max,min,abs函数;2)数组的大小不是常量的话,需要通过......
  • [Typescript] 95. Hard - Required Keys
    Implementtheadvancedutiltype RequiredKeys<T>,whichpicksalltherequiredkeysintoaunion.ForexampletypeResult=RequiredKeys<{foo:number;bar?:......
  • [Typescript] 96. Hard - Optional Keys
    Implementtheadvancedutiltype OptionalKeys<T>,whichpicksalltheoptionalkeysintoaunion. /*_____________YourCodeHere_____________*/typeOp......
  • typescript 泛型
    一、泛型与any类型的区别泛型是等待确定的占位类型,可以理解为函数的形参;所以泛型是固定的某一个类型,实例化的时候确定其实际类型any类型是顶级类型,它包括了所有的基......
  • [Typescript] 93. Hard - Get Required
    Implementtheadvancedutiltype GetRequired<T>,whichremainsalltherequiredfieldsForexampletypeI=GetRequired<{foo:number,bar?:string}>//exp......
  • 「LOJ2474」北校门的未来
    题目点这里看题目。你有一棵树\(T\),初始时\(T=(V=\{1\},E=\varnothing)\)。你将要进行\(q\)次操作,每次操作的形式为以下两种之一:第一种操作:给定参数\(x,y\),保证......
  • [Typescript] 94. Hard - Get Optional
    Implementtheadvancedutiltype GetOptional<T>,whichremainsalltheoptionalfieldsForexampletypeI=GetOptional<{foo:number,bar?:string}>//expe......
  • TypeScript(基础篇)day01
    一.TS介绍1.1简介ts是2012年由微软开发,在js的基础上添加了类型支持1.2优劣势优势:任何位置都有代码提示,增加效率;类型系统重构更容易;使用最新的ECMAscript语法劣势:和......
  • AUSTOj8
    #include <stdio.h>#include <malloc.h>#include <string.h> #define MaxVex 10      //假设当前顶点数最多为10个int visited[MaxVex];    //用来存放当......
  • 记录--Uniapp + TypeScript 配置文档
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助0目标使用uniapp +TypeScript为基础栈进行小程序开发uniapp是一个使用Vue.js开发所有前端......