TypeScript class filed init value All In One
TypeScript class filed init value All In One
在 constructor 中使用 public 定义的 name 不需要手动赋值, 避免重复
export namespace NameSpace1 {
export namespace NameSpace2 {
interface InterfaceName {
name: string,
age: number;
}
export class App implements InterfaceName {
constructor(public name: string, public age: number) {
// 在 constructor 中使用 public 定义的 name 不需要手动赋值, 避免重复
// this.name = name;
// this.age = age;
}
}
}
}
export var NameSpace1;
(function (NameSpace1) {
let NameSpace2;
(function (NameSpace2) {
class App {
constructor(name, age) {
this.name = name;
this.age = age;
// 在 constructor 中使用 public 定义的 name 不需要手动赋值, 避免重复
// this.name = name;
// this.age = age;
}
}
NameSpace2.App = App;
})(NameSpace2 = NameSpace1.NameSpace2 || (NameSpace1.NameSpace2 = {}));
})(NameSpace1 || (NameSpace1 = {}));
duplicate assignment filed value
export namespace NameSpace1 {
export namespace NameSpace2 {
interface InterfaceName {
name: string,
age: number;
}
export class App implements InterfaceName {
constructor(public name: string, public age: number) {
// 在 constructor 中使用 public 定义的 name 不需要手动赋值, 避免重复
this.name = name;
this.age = age;
}
}
}
}
等价于
export namespace NameSpace1 {
export namespace NameSpace2 {
interface InterfaceName {
name: string,
age: number;
}
export class App implements InterfaceName {
constructor(public name: string, public age: number) {
// 在 constructor 中使用 public 定义的 name 不需要手动赋值, 避免重复
this.name = name;
this.age = age;
}
}
}
}
init filed value
export namespace NameSpace1 {
export namespace NameSpace2 {
interface InterfaceName {
name: string,
age: number;
}
export class App implements InterfaceName {
constructor(public name: string, public age: number) {
// 在 constructor 中定义的 name 不需要手动赋值, 避免重复
}
}
export class App2 implements InterfaceName {
public name: string = '';
public age: number = 0;
constructor(name: string, age: number) {
// 在 constructor 之前定义的 name 并且初始化值,不需需要手动赋值, 避免重复
}
}
export class App1 implements InterfaceName {
public name: string;
public age: number;
constructor(name: string, age: number) {
// 在 constructor 之前定义的 name 需要手动赋值
this.name = name;
this.age = age;
}
}
}
}
refs
?xgqfrms 2012-2020
www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!
原创文章,版权所有??xgqfrms, 禁止转载 ???,侵权必究??!