作者:lucksy689 | 来源:互联网 | 2023-01-29 12:48
1> Maxim Korets..:
getter/setter不能具有与属性名称匹配的名称 - 以下内容不起作用:
class A {
get world() {
return this.world;
}
}
因此,一般模式是将内部属性命名为setter/getter,仅使用下划线的版本:
class A {
get world() {
return this._world;
}
}
由于JS因此缺乏运行时封装,因此下划线通常表示内部/私有/封装的属性/变量.
但没有什么能迫使你使用下划线.如果您以不同方式命名getter/setter,则可以避免添加下划线:
class A {
get getWorld() {
return this.world;
}
}
好的,谢谢,但我不得不说,这很烦人,因为这意味着在我的休息服务的API级别,我必须在开头用_命名所有字段,以便反序列化过程正确发生.这不是java中用于api的语言的最佳实践.
我也发现,也许最好的解决方案可能根本不会触及打字稿代码,但在(在java的情况下)使用jackson库并使用@JsonProperty批注来定义json属性以及它应该如何映射到a java bean字段.我认为这就是我们如何为我们的情况解决问题......这是一个解释这一问题的小例子./sf/ask/17360801/ ....这样后端开发人员可以很开心前端民间:)