TypeScript 基础类型声明

因为TypeScript是JavaScript的超集,所以它本身就支持let和const。 下面我们会详细说明这些新的声明方式以及为什么推荐使用它们来代替 var。

ts中,声明变量时可以同时指定其类型,格式:

var name: string = 'Forrest';
这样,当
name = 1;
会报错,因为name已经指定了string类型

指定变量为可变类型:

var name: any = 'Forrest';

注意,即使name被指定为string类型,在ts中不能复制数字1,但编译成js后不会报错。

函数的参数和返回值也可以声明类型:

function getAge(name:string) :number{
    
    
  return 18;
}

声明了返回值类型为number,如果return ‘18’就会报错,返回值类型可以是void

声明自定义的类型:

class Person {
    
    
  name: string;
  age: number;
}
 
var Forrest: Person = new Person();

变量声明的方式


布尔类型

                var bool:boolean = true;

            
数字类型

            
                var num:number = 123;
            
            
字符串类型

            
                var str:string = '123';
            
            
数组类型

            
                var arr:Array<number> = [1,2,3];       尖括号内为数组内容的类型
                var arr0:Array<any> = ['str',2,true];
                var arr1:number[] = [1,2,3];                中括号表示数组;前面的修饰表示类型
                var arr2:any[] = ['str',1,true];
            
            
元组类型
  tuple属于数组类型的一种
            
                var arr:[number,boolean] = [1,true]; 必须要一一对应
            
            
枚举类型
 
            
                enum Err{
    
    
                    undefined=1,
                    null,
                    "str" = 2             //此处值和null冲突竟然没有报错;
                }
                var e:Err = Err.null;
                console.log(e)//2
                var e1:Err = Err.undefined;
                console.log(e1)//1
                var e2:Err = Err.str;
                console.log(e2)//2
                //enum 后面自定义变量名;如果没有声明值;默认为下标、前面的声明了值之后后面的加1
            
            
任意类型

            
                let an:any = 12;
            
            
任意类型

            
                let an:any = 12;
            
            
undefined、null类型

            
                let num:undefined ;
                let num1:undefined ;
                let num2:number | undefined;
                let num3:undefined = undefined;
                num2 = 1;
                // let num7:null; 此处会报错;未声明为undefined;
                let num5:null = null;
                let num6:null | number | undefined;
                console.log(num,num1,num2,num3,num5,num6)//undefined undefined 1 undefined null undefined;
                num6 = null;
                console.log(num6);//null
                num6 = 55;
                console.log(num6);//55
            
            
void类型

            void即返回值;void表示没有返回值
            
                function run():void{
    
    
                    console.log(123)
                };
                function main():number{
    
    
                    return 123;
                }
            
            
never类型

            never类型为其他类型(包含其他所有类型)的子类型;表示不会出现的
                var a:never ;
                a = function(){
    
    
                    throw new Error('err')
                }()


猜你喜欢

转载自blog.csdn.net/Menqq/article/details/111937060
今日推荐