gpt4 book ai didi

javascript - 类属性作为 ES6 中的语句

转载 作者:行者123 更新时间:2023-11-30 08:24:12 25 4
gpt4 key购买 nike

在下面的代码中,将类属性写成语句(3 行注释)的目的是什么?是属性初始化吗?

 export default class Player extends Camera {
constructor(opts = {}) {
super(opts);
if(opts.target)
this.setTarget(opts.target);
this.movie; // 1
this.currentFrame; // 2
this.displayer; // 3
...

Original Source

最佳答案

假设它们没有被定义为 getter(它们不在您引用的代码中),它们在代码本身方面什么也不做。 (如果他们是 getters 并且因为他们的副作用而被要求,那将是多层次的糟糕编码......:-))

但 IDE 有时会根据构造函数中 this 上引用的属性来推断由构造函数或类创建的对象的可用属性,因此作者可能这样做是为了改进 IDE 的自动-编辑时建议功能。例如,他们执行 const p = new Player() 并且 IDE 从构造函数代码知道提供 moviecurrentFramedisplayer 当他/她键入 p. 时。 (更好的选择是将它们设置为某个适当的初始值,即使 undefined 也是如此;该代码不会创建实际对象的属性。)

或者,作者只是对 JavaScript 缺乏经验,认为他/她必须以某种方式“声明”属性,发现执行您所展示的操作不会导致错误,因此认为它是正确的。

关于javascript - 类属性作为 ES6 中的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48282472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com