typescript 中通过构造函数的参数直接定义属性

点击在我的博客 xuxusheng.com 中查看,有更好的排版哦~

在通常情况下,我们定义一个类时:

class Info {

	public name: string
	
	private age: number
	
	constructor() {
		// ...
	}
}

采用 ts 中简写的语法:

class Info {
	constructor(
		public name: string
		private age: number ) {}
}

它可能看上去不像是有属性的类,但它确实有,利用的是 Typescript 提供的简写形式 — 用构造函数的参数直接定义属性。

这个简写语法做了很多:

  • 声明了一个构造函数参数及其类型
  • 声明了一个同名的公共属性
  • 当我们 new 出该类的一个实例时,把该属性初始化为相应的参数值

ng4 中,就可以通过此种写法来注入服务。

对比转换前后的代码如下:

typescript 中通过构造函数的参数直接定义属性_第1张图片

你可能感兴趣的:(typescript)