Typescript 中类的公共访问修饰符的用途是什么?
有什么区别
export class Thing {
public doStuff(){}
}
Run Code Online (Sandbox Code Playgroud)
和
export class Thing {
doStuff(){}
}
Run Code Online (Sandbox Code Playgroud)
看起来标准的 tsc JS 输出是完全一样的......
使用 的两个原因public,一个是主观/风格,另一个是客观:
它是代码内文档。省略访问修饰符可能会被视为您忘记了它。(这是主观/风格原因。)
如果您想使用 TypeScript 添加到类构造函数的简写初始化功能,您需要public告诉 TypeScript 执行此操作。
这是#2 的示例:
class Example {
constructor(public name: string) {
// ^^^^^^---------------- This is what triggers the feature
}
}
const e = new Example("Joe");
console.log(e.name); // "Joe"
Run Code Online (Sandbox Code Playgroud)
(在操场上。)
您的示例代码在 TypeScript 中的含义完全相同。当您未在成员定义上放置修饰符public、private、 或 时protected,TypeScript 将选择默认修饰符 、 或public。
这对于 JavaScript 来说没有意义,因为 TypeScript 转译器将生成完全相同的代码。但是这些修饰符将帮助您封装类成员并使它们:
publicprivateprotected同样,生成的 JavaScript 将不包含修饰符。这意味着如果有人获取了您的 JavaScript 代码,即使您将它们定义为private. 修饰符仅在 TypeScript 中有用,并帮助开发人员不访问某些类成员。
| 归档时间: |
|
| 查看次数: |
3154 次 |
| 最近记录: |