Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 类型脚本访问修饰符_Javascript_Angular_Typescript - Fatal编程技术网

Javascript 类型脚本访问修饰符

Javascript 类型脚本访问修饰符,javascript,angular,typescript,Javascript,Angular,Typescript,我正在学习typescript中的访问修饰符,我有以下课程 export class Person { private get fullName() { return this.firstName + '' + this.lastname; } constructor(public firstName, public lastname) { } } const name = new Person('jim', '

我正在学习typescript中的访问修饰符,我有以下课程

 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会显示以下错误

属性“fullName”是私有的,只能在类“Person”中访问


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

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

因此,当您将.ts编译为.js时,这种特性已经过时了;像接口

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

在编译过程中,您将得到错误

属性“fullName”是私有的,只能在类中访问 “人”

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

  "compilerOptions": {
    "noEmitOnError": true
}
如果出现错误,这将停止typescript编译器


快乐编码

TypeScript错误不会阻止编译到JavaScript中,因此它们实际上是错误使用的警告,可能会导致结果JavaScript中的意外行为。感谢您的解释,兄弟,请回答,这意味着Js根本没有隐私?
Js根本没有隐私
。也就是说,您指定的访问修饰符不是Javascript,而是Typescript。。巨大的差异。@ErikPhilips感谢链接现在明白了,我有点困惑)你可以把它作为答案,我会接受的。你用的是什么IDE?IDE intellisense可以将其显示为信息,但如果它标记为错误,则IDE会出现错误。