typescript 之 参数特性

1、参数类型(在参数名称后面使用冒号来指定参数的类型)

var myName:string = "张三";
myName = 13;  // 当重新给 myName 赋值的时候,如果值的类型与开始指定的类型不符, IDE 会进行类型检查,从而提示错误

var firstName = "李四";
firstName = 13;  // 与上面相同,不同的是, firstName 虽然没有指定类型,但是 IDE 会进行类型推断(从第一给这个变量赋值的地方开始,自动推断变量类型),从而提示错误

  variable:any(表示该变量可以是任何类型)

var str:any = "张三";
str = 13;  // IDE 不会提示错误, any 类型表示可以是任何类型

  functionName(): void {...}(冒号后面跟的是该方法的返回值,void 表示没有返回值)

function hello(): void {
  return "hello";  // 当声明了该方法的返回值为(:void)时,如果有 return(返回值), IDE 会提示错误
}

function myName() :string {
  return "张三";  // 声明了返回值为 string 类型,表示该方法必须有返回值,而且返回值的类型必须是 string 类型,否则 IDE 会提示错误
}

  arguments:type

function hello(name:string, age:number) {
  console.log(name);
  console.log(age);
}

hello("张三", 18);  // 当方法的参数也有声明类型的时候,在方法调用的时候,也必须按照指定类型传参,否则 IDE 会提示错误

  自定义类型

class Person {  // 在 typescript 里面,可以通过 class 或接口,来自己声明自己自定义的类型
  name: string;
  age: number;
}
var someone: Person = new Person();  // 定义 someone 的类型为 Person 类型
someone.name = "张三";  // 属性的类型也必须是 someone 内预先定义好的类型,否则 IDE 会提示错误
someone.age = 13;

2、默认参数(在参数声明后面用等号来指定参数的默认值)

function print (a: string, b: number, c: boolean = false) {  // 重点:带默认值的参数一定要声明在最后面
  console.log(a);
  console.log(b);
  console.log(c);
}
print("张三", 13, true);  // 假设三个参数都没有默认值,方法调用时,必须传指定个数的参数,否则 IDE 会提示错误
print("张三", 13);  // 当第三个参数有默认值的时候,可传,可不传。

 

原文地址:https://www.cnblogs.com/joffe/p/7702772.html