typescript基础类型

本文深入探讨TypeScript的基础类型,如布尔、数字、字符串、数组等,详解枚举、任意与void类型。同时,覆盖函数定义、参数类型、方法重载及类的概念,包括类的定义、继承与修饰符,为开发者提供全面的TypeScript学习指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基础类型

1.布尔类型

const isFlag: boolean = true;//正确
const isFlag: boolean = 11111;//错误

2.数字类型

let t_number: number = 1;//正确
t_number = 12.3; //正确
t_number = '我的世界';  //错误

3.字符串类型

let str: string = 'this is typescript'; //正确
str = 1; //错误

4.数组类型

在一下定义中数组只能存指定类型的数据

let newArr: number[] = [1,2,3,4,5,6,7,8,9,0];
let twoArr: Array<number> = [1,2,3,4];

4.1.元祖类型(tuple),属于数组的一种

指定相对应的数据类型

let treeArr: [string,number,boolean] = ['nihao',1,true];

5.枚举类型(unum)

当给对应的枚举赋值时,取得的是对应的值,没有赋值时,是其下标值,部分赋值时,时前一个枚举的值加一

enum enumFlag {success=1,error=-1};
let value =enumFlag.error;
enum color {red,yellow,orange}
let valueC: color = color.orange;

6.任意类型

let all: any =1;
all = 'string';
all = 1;
all =null;
all=undefined;
all=true;
all =[1,2,3];

7.void类型

typescript中的void表示没有任何类型,一般用于定义方法的时候没有返回值

let a=(): void =>{
    console.log('你可真是个小天才呢~')
}

8.never类型

是其他类型(包括null和undefined)的子类型,代表从不会出现的值,声明never的变量之鞥呢被never类型所赋值

let tNever: never;
let a: never =(()=>{
    throw new Error('cuo')
})()

函数定义

1.函数声明法

function ts_run(): string {
    return 'hello world';
}

2.匿名函数法

let ts_run2 = function (): nunber{
    return 1;
}

3.函数传参(必选参数)

let ts_run3 = (name:string,age: number): number =>{
    console.log(name,age);
    return 123;
}
ts_run3('xiaojiebin',123);

4.可选参数

age?:number 是可选参数,

let ts_run4 = (name:string,age?:number): string =>{
    console.log(name,age);
    return 'very good';
}
ts_run4('好喜欢这个世界',12);

5.默认参数

age: number = 20;

let ts_run5 = (name: string,age: number = 20): string =>{
    console.log(name,age);
    return '我想哭'
}
console.log(ts_run5('这个世界真的很温柔。',30));

6.剩余参数

当一二两个参数是单独的,其他多被放入剩余参数

let ts_run6 = (a:number,b:number,...result: number[]): number =>{
    let sum: number = a+b;
    result.forEach(element =>{
        sum +=element;
    });
    sonsole.log(sum);
    return sum;
}
ts_run6(1,2,3,4,5,6)

7.ts方法的重载

function getInfo(name: string): string;
function getInfo(age: number):number;
function getInfo(str:any): any{
    if(typeof str === 'string'){
        cosnole.log('我的名字是:'+str);
    }else{
        console.log('我的年龄的是:'+str);
    }
}
getInfo("hahahah")

类(class)

1.定义类

class Person{
    name: string;
    age: number;
    constructor(name: string,age: number){
        this.name = name;
        this.age = age;
    }
    run(): void{
        console.log(this.name,this.age);
    }
    getName(): string{
        return this.name;
    }
    setName(name: string):void{
        this.name = name;
    }
	getAge():number{
        return this.age;
    }
	setAge(age: number):void{
        this.age=age;
    }
}
let person = new Person("卑微的自己",1213);
person.setName('肖杰斌');
person.setAge(2);
person.run();

2.继承

class People {
    name: string;
    constructor(name: string) {
        this.name = name;
    }

    run(): string {
        console.log(this.name);
        return this.name;
    }
}

class Biological extends People {
    constructor(name: string) {
        super(name);
    }
}
let biological = new Biological("讨好你~");
biological.run();

3.修饰符

  • public : 共有 类里面和外面多可以访问
  • protected:保护类型 在类里面,子类里面可以访问,在类外部没法访问
  • private: 私有 在类里面可以访问,类外部无法访问
  • 属性如果不加修饰符,默认就是共有的。
class Car {
    public name: string;
    protected color: string;
    private price: number;

    constructor(name: string, color: string, price: number) {
        this.name = name;
        this.color = color;
        this.price = price;
    }
}
let car = new Car('劳斯莱斯', '红色的', 100000000);
console.log(car.name);

class Tool extends Car {
    constructor(name: string, color: string, price: number) {
        super(name, color, price);
    }
    run(): void {
        console.log(this.color);//正确
        this.price;//错误
    }
}

let tool = new Tool('劳斯莱斯', '红色的', 100000000);
tool.name;  //正确
tool.color; //错误
tool.price; //错误
tool.run();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值