javascript - typescript 访问修饰符

标签 javascript angular typescript

我正在学习 typescript 中的访问修饰符,我有以下类(class)。

 export class Person {
      private get fullName() {
        return this.firstName + '' + this.lastname;
      }
      constructor(public firstName, public lastname) {

      }
    }
    const name = new Person('jim', 'jonson');
    alert(name.fullName);

当我将鼠标悬停在全名上时 Intellisense 会出现以下错误

Property 'fullName' is private and only accessible within class 'Person'.

有人能解释一下为什么我的浏览器上显示的是全名吗?

最佳答案

typescript 中的访问修饰符是 typescript 特性而不是 javascript 特性。

因此,当您将 .ts 编译为 .js 时,这种功能将被覆盖;像接口(interface)。

也许在未来的版本中,JavaScript 将具有访问修饰符。

编译时会报错

Property 'fullName' is private and only accessible within class 'Person'.

您可以在 tsconfig.ts 文件中更改此编译器选项

  "compilerOptions": {
    "noEmitOnError": true
}

如果出现错误,这将停止 typescript 编译器。

快乐编码;

关于javascript - typescript 访问修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51313997/

相关文章:

html - Angular2,禁用 anchor 元素的正确方法是什么?

angular2 导入 HTTP_PROVIDERS 错误

angular - 如何为 API Url 使用环境变量(前端使用 Angular 8、TypeScript、HTML 和 SCSS,后端使用 C#)

css - 如何检查 Material Angular 中的垫子菜单是否打开?

javascript - 如何使用本地存储来维护下拉菜单状态?

javascript - 循环状态并检查对象是否存在

javascript - 如何压扁钻石

javascript格式化程序

像 Rails 脚手架一样的 Angular 文件生成器

typescript - 是否可以在 Jasmine 单元测试中修改或模拟 Typescript 类使用的 Inversify 容器?