代码拉取完成,页面将自动刷新
/**
* 在 TypeScript 中能够为 Class 成员添加这些修饰符:
* public / private / protected / readonly。
*
* public / private / protected 三位都属于 访问性修饰符,
* 而 readonly 属于 操作性修饰符(就和 interface 中的 readonly 意义一致)。
*
* 通常不会为构造函数添加修饰符,让它保持默认的 public
* 当不显式使用访问性修饰符,成员的访问性默认会被标记为 public
*/
/**
* public:此类成员在类、类的实例、子类中都能被访问。
* private:此类成员仅能在类的内部被访问。
* protected:
* 此类成员仅能在类与子类中被访问,可以将 类 和 类的实例 当成两种概念,
* 即一旦实例化完毕(出厂零件),那就和类(工厂)没关系了,即不允许再访问受保护的成员。
*/
class Foo {
private prop: string;
constructor(inputProp: string) {
this.prop = inputProp;
}
protected print(addon: string): void {
console.log(`${this.prop} and ${addon}`)
}
public get propA(): string {
return `${this.prop}+A`;
}
public set propA(value: string) {
this.propA = `${value}+A`
}
}
/**
* 在上面的例子中,通过 构造函数 为 类成员赋值 的方式还是略显麻烦,需要声明 类属性 以及在 构造函数 中进行赋值。
* 简单起见,可以在 构造函数 中对参数应用 访问性修饰符:
*/
class FooA {
constructor(public arg1: string, private arg2: boolean) { }
}
let FooATest = new FooA("hanxuming", true)
console.log(FooATest.arg1) //hanxuming
console.log(FooATest.arg2)
//export {}:解决“无法重新声明块范围变量”错误提示问题
export { }
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。