我正在学习 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/