TypeScript basic type declaration

Because TypeScript is a superset of JavaScript, it natively supports let and const. Below we will elaborate on these new declaration methods and why they are recommended to replace var.

In ts, when declaring a variable, you can specify its type at the same time, the format:

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

Specify variable type:

var name: any = 'Forrest';

Note that even if it nameis specified as a stringtype, the number 1 cannot be copied in ts, but no error will be reported after being compiled into js.

The parameters and return values ​​of functions can also declare types:

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

The return value type is declared number, if an return ‘18’error will be reported, the return value type can bevoid

Declare a custom type:

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

Way of variable declaration


布尔类型

                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')
                }()


Guess you like

Origin blog.csdn.net/Menqq/article/details/111937060