gpt4 book ai didi

javascript - TypeScript:在构造函数中使用 private 或 public

转载 作者:数据小太阳 更新时间:2023-10-29 05:02:09 31 4
gpt4 key购买 nike

我是 TypeScript 世界的新手,我看过用它处理注入(inject)对象并将其设置为组件属性 (this.anything) 的示例

首先公开并手动设置到 this.nav

export class XPTO {
constructor(public nav: NavController) {
this.nav = nav;
}
}

还有这个,有私有(private)的

export class XPTO {
constructor(private nav: NavController) {
//this.nav is nav?
}
}

在这两种情况下,在构造对象后 this.nav 都是一个 NavController 对象。两种实现方式有何区别?或者当编译为普通 javascript 时这也是一样的?

最佳答案

实际上,在您的第一个示例中,根本不需要显式赋值:

export class XPTO {
constructor(public nav: NavController) {
// This line is not required.
// this.nav = nav;
this.someFunction();
}
someFunction(){
console.log(this.nav); // Prints out the NavController.
}
}

每当您在构造函数参数上指定 public 或 private 时,都会在类上创建相应的公共(public)/私有(private)变量并填充参数的值。

实际上,这两个代码示例的唯一区别是一个是私有(private)的,另一个是公共(public)的。

生成的 JavaScript 将是相同的。但是,如果您尝试访问代码中的私有(private)变量,编译器将抛出错误。

关于javascript - TypeScript:在构造函数中使用 private 或 public,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39840606/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com