OJ中Typescript语法整理

基础

原始类型

原始类型: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

posted @ 2022-11-11 08:03  狗星  阅读(63)  评论(0)    收藏  举报
/* 返回顶部代码 */ TOP