📜  TypeScript类型注释和推断

📅  最后修改于: 2021-01-11 12:23:56             🧑  作者: Mango

TypeScript类型注释

我们知道JavaScript不是一种类型化的语言,因此我们无法在JavaScript中指定变量的类型,例如数字,字符串,布尔值。但是,在TypeScript中,我们可以指定变量的类型,函数参数和对象属性,因为TypeScript是一种类型化的语言。

类型注释是当我们使用类型时可以放置在任何地方的注释。在TypeScript中,不是必须使用Type批注。它有助于编译器检查变量的类型,并避免在处理数据类型时出错。

我们可以通过在变量名称,参数或属性之后使用冒号(:Type)来指定类型。冒号和变量名称,参数或属性之间可以有一个空格。 TypeScript包含JavaScript的所有原始数据类型,例如数字,字符串,布尔值等。

句法

var variableName: TypeAnnotation = value;

下面的示例演示具有不同数据类型的变量的类型注释。

var age: number = 44;          // number variable
var name: string = "Rahul";     // string variable
var isUpdated: boolean = true; // Boolean variable 

在上面的示例中,变量以其数据类型声明。这些示例演示了类型注释。在这里,我们不能通过使用具有可用数据类型的其他数据类型来更改值。如果我们尝试这样做,TypeScript编译器将抛出错误。例如,如果我们将字符串分配给变量age或将数字分配给name ,那么它将给出编译错误。

使用类型注释作为参数

下面的示例演示带有参数的类型注释。

function display(id:number, name:string)
{
    console.log("Id = " + id + ", Name = " + name);
}
display(101, "Rohit Sharma");

输出:

Id = 101, Name = Rohit Sharma

内联类型注释

在TypeScript中,内联类型注释使我们可以为对象的每个属性声明一个对象。

句法

:{ /*Structure*/ }

var student : { 
    id: number; 
    name: string; 
}; 

student = { 
  id: 100, 
  name : "John"
}

在这里,我们声明一个具有两个属性“ id”和“ name”的对象student,其数据类型分别为number和字符串。如果我们尝试将字符串值分配给id,则TypeScript编译器将引发错误:属性类型不兼容。