在TypeScript类中,#符号是什么意思?
例如,如果我有这个类:在TypeScript类中,#符号是什么意思?,typescript,typescript-typings,Typescript,Typescript Typings,例如,如果我有这个类: 类型Url:string; 甲级{ #url:url } #符号代表什么?谢谢 这是TypeScript 3.8中的一个新版本。该字段可以从类内的方法访问,但不能从类外访问 更多信息: 文档中的示例: 作为补充,TypeScriptprivateclass成员关键字只是语法糖,作用于类型级别(TypeScript编译器)。在运行时,private类成员实际上是公共的。我们可以通过对象.assign(这个,{ 字段:value})在类内,该类与TypeScript
类型Url:string;
甲级{
#url:url
}
#
符号代表什么?谢谢 这是TypeScript 3.8中的一个新版本。该字段可以从类内的方法访问,但不能从类外访问
更多信息:
private
class成员关键字只是语法糖,作用于类型级别(TypeScript编译器)。在运行时,private
类成员实际上是公共的。我们可以通过对象.assign(这个,{
字段:value})
在类内,该类与TypeScriptprivate
字段一起工作,但不与
(EcmaScript private)字段一起工作
TypeScript团队需要同时保留语法和行为,以避免破坏现有的TypeScript代码基础。作为开发人员,我们可以在两种语法之间进行选择:
- ECMAScript private更严格,但可能还没有得到足够的支持。也许是为了强制使用公共API,或者使用混合代码基JavaScript/TypeScript
- typescriptprivate更为常见,特别是因为它的语法与Java和C#中的相同。对于一个不公开的完整类型脚本代码库来说,现在已经足够了。但是,由于TypeScript的目的是向ECMAScript靠拢,现在使用这种新语法可能是一个好习惯
class Animal {
#name: string;
constructor(theName: string) { this.#name = theName; }
}
new Animal("Cat").#name; // Property '#name' is not accessible outside class 'Animal' because it has a private identifier.