初学typescript

83 阅读2分钟

Ts的类型入门篇

 a、基础类型 : string , number, boolean ;
b、任意类型:any;
    有时候,我们会想要为那些在编程阶段还不清楚类型的变量指定一个类型。 
    这些值可能来自于动态的内容,比如来自用户输入或第三方代码库。
    这种情况下,我们不希望类型检查器对这些值进行检查而是直接让它们通过编译阶段的检查。 
    那么我们可以使用 any类型来标记这些变量:
    let d :any
    d = "hello"
    d = false
    d = 10
 注:1、一个变量设置为any,相当于对该变量关闭了Ts类型检测,
     2、使用TS时不建议使用any类型( 如果一个变量赋值给了一个any的变量,那么他的值也会变成any ,只要跟他沾边的都变any3、声明变量时如果不指定类型,TS解析器会自动判断变量类型为any,(隐式的any)
 c、未知类型值:unknown;
    unknown实际上是一个类型安全的any;
    unknown类型的变量,不能直接赋值给其他变量;


 d、类型断言:可以用来告诉解析器变量的实际类型;
 语法:
    1、变量 as 类型   a = b as string
    2、<类型>变量     a = <string>b
       

 e、联合类型; 
  语法: 使用 | 或符号指定相应的数据类型

 f、字面量:(相当于常量,)
 let h :10
 h = 10
 h = 11  //报错,h只能等于10
 
 g、void 表示空,以函数为例,就表示没有返回值的函数

   空值(只能赋值undefined或者null)

    function fn():void{
        
    }


 h、never表示永远不会返回结果

    没有值,不能是任何值

    function fn():never{
       throw new Error("报错了!")
    }

举个栗子

//any表示任意类型
`let a :any
a = 'kitty'
a = true
a = 10
a = [12,10]
 let s:string`
 
 
//联合类型
`let t :number | string | boolean;
t = 12;
t = 'hello world'
t =  false
`
//unknown:表示未知类型
let c :unknown 
c = 10
c = 'hello'
c = true
let d:string

//unknown实际上是一个类型安全的any;
//unknown类型的变量,不能直接赋值给其他变量;
if(typeof c === 'string'){
    d = c
}

//字面量
let k : 10
k = 10
//k = 11 //报错不能将类型“11”分配给类型“10”

//never 表示没有值,不能返回任何值
 function fn():never{
    throw new Error("报错了!")
 }

 //void 表示没有值,可以赋值undefined和null
 //表示没有返回值的函数
 function func():void{
   
 }