有关JavaScript中常量类的信息

时间:2019-03-05 15:39:29

标签: javascript class oop const

大家好,我正在研究光线跟踪算法,我想通过在Three.js中从不同位置拍摄线条来展示不同的可能性。我只想了解以下有关此行代码以及如何使用或完全不使用它的信息。

const Ray_Techniques = class { 

    MANAGER() {
       return{
          FRT: function(){
              return{
                  //Shoot lines in stage entry
              };
          },
          BRT: function(){
              return{
                  //Shoot lines in stage entry (different algorithm)
              };
          }
       };
    }

    hide_show_repeat_MANAGER(){
        return{
             //hide, show, repeat each stage
        };
    }
};

可以使用吗?我是面向对象Java的新手。我只想让用户通过调用其中一些功能来重复该阶段,并根据阶段(滑块值)隐藏/显示特定的算法。 'const'类还会影响所有这些吗?

2 个答案:

答案 0 :(得分:2)

  

可以使用吗?

否,完全不能在此处使用class。仅当您具有共享方法和配置或可变状态不同的多个实例时,才需要类。对于您在问题中显示的内容,一个简单的对象就足够了:

const rayTechniques = { 
    manager: {
        FRT() {
            … //Shoot lines in stage entry
        },
        BRT() {
            … //Shoot lines in stage entry (different algorithm)
        }
    },
    hide_show_repeat() {
        … //hide, show, repeat each stage
    }
};

答案 1 :(得分:1)

唯一的区别是您不能将Ray_Techniques重新分配给另一个值,因为它被定义为const。定义为class Ray_Techiques {}的类将使您可以将类名Ray_Techniques重新分配给其他名称。

来自MDN

  

const声明创建对值的只读引用。这并不意味着它拥有的值是不可变的,只是不能重新分配变量标识符。例如,在内容是对象的情况下,这意味着可以更改对象的内容(例如其属性)。

我认为const声明不利于代码可读性与命名类。