Ts(一)

基本数据类型

数字

const a:number=3;

字符串

const b:string="1";

数组

const c: number[] = [1, 2, 3];
const d: Array<number> = [1, 3];
const arr: any[] = [1, "33", true];

枚举

enum error {
  blue = 3,
  "orange",
}
const f: error = error.orange;
console.log(f); //输出4

tips
1.如果未赋值的上一个值是数字那么这个未赋值的值的是上一个值的值+1
2.如果未赋值的上一个值未赋值那么输出的就是它的下标
3.如果未赋值的上一个值的值是非数字,那么必须赋值

布尔类型

const g:boolean=true;

对象

const i: object = {};

undefined

常用于组合类型

let j: number | undefined;

null

let k: null;

viod

指定方法类型,表示没有返回值,方法体中不能return

function aa(): void {
  console.log(1);
}

//如果方法有返回值,可以加上返回值的类型
function bb(): number {
  return 1;
}

never

其他类型 (包括null和undefined)的子类型,代表从不会出现的值

let l: never;

//匿名函数并抛出异常
l = (() => {
  throw new Error("111");
})();

任意类型

让参数可以是任何一种类型

let h: any = 1;
h = true;
h = "st";

函数

函数申明

function cc(): void {}

方法传参

function getUserInfo(name: string, age?: number, school: string = "清华大学") {
  return `name:${name}--age:${age}--school:${school}`;
}

tips: ?代表这个参数可传可不传,不传就是undefined,也可定义个默认的值

函数承载

function reload(name: string): string;
function reload(age: number): string;
function reload(param: any): any {
  return typeof param === "string" ? `我是:${param}` : `我的年龄:${param}`;
}
console.log(reload(18)); //年龄

tips: 被重载的方法,是没有方法体,可以根据参数的类型走其中一个方法并判断参数,但如果传入的参数类型不是任何被重载方法的参数类型就不允许通过。

 第 1 个重载(共 2 个),“(name: string): string”,出现以下错误。
   类型“never[]”的参数不能赋给类型“string”的参数。
 第 2 个重载(共 2 个),“(age: number): string”,出现以下错误。
   类型“never[]”的参数不能赋给类型“number”的参数
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容