Javascript 命名作为主类属性的类

Javascript 命名作为主类属性的类,javascript,node.js,oop,Javascript,Node.js,Oop,我想知道如何命名我的主构造函数将使用的构造函数,但没有继承。解释: 我有一个构造器函数: function Human() {} 人类拥有手臂、腿等属性: function Human() { this.arms = new Arms(); this.legs = new Legs(); } 我想知道如何根据手臂和腿的常见用法和惯例命名。如果我应该使用: function Human() { this.arms = new HumanArms(); this.legs = n

我想知道如何命名我的主构造函数将使用的构造函数,但没有继承。解释:

我有一个构造器函数:

function Human() {}
人类拥有手臂、腿等属性:

function Human() {
  this.arms = new Arms();
  this.legs = new Legs();
}
我想知道如何根据手臂和腿的常见用法和惯例命名。如果我应该使用:

function Human() {
  this.arms = new HumanArms();
  this.legs = new HumanLegs();
}
或:


只是一个建议,你应该考虑使用ES6类关键字,静态关键字

class Arms {
    constructor() {}
}

class Legs {
    constructor() {}
}

class Human {
    constructor() {
        this.arms = Human.Arms();
        this.legs = Human.Legs();
    }    
    static Arms() {
        return new Arms();
    }
    static Legs() {
        return new Legs();
    }
}

但这一切都与个人选择有关

这完全取决于你,只要你的代码库保持一致,这两种选择(或者仅仅是手臂和腿)都是正常的,更简洁的
class
语法。人类以外的东西有胳膊和腿吗?这是问题的答案吗?引入额外一层静态方法的目的是什么?@torazaburo基于您之前的回答“除了人类之外,其他东西都有胳膊和腿吗?”。
class Arms {
    constructor() {}
}

class Legs {
    constructor() {}
}

class Human {
    constructor() {
        this.arms = Human.Arms();
        this.legs = Human.Legs();
    }    
    static Arms() {
        return new Arms();
    }
    static Legs() {
        return new Legs();
    }
}