Javascript 类上的默认方法

Javascript 类上的默认方法,javascript,node.js,ecmascript-6,Javascript,Node.js,Ecmascript 6,在JS中,当我调用实例时,有没有一种方法可以执行默认方法 示例:假设我有一个名为MyClass的类,然后启动这个名为foo的类的实例,我希望在调用foo时执行MyClass的default方法 class-MyClass{ 构造函数(){ 此.props={ 问题:“生活,宇宙,一切”, 答复:42 } } 默认值(){ 归还这个道具 } 你好(){ 返回“你好,世界” } } const foo=新的MyClass() //执行默认方法 console.log(foo)//log:{问题:'生

在JS中,当我调用实例时,有没有一种方法可以执行默认方法

示例:假设我有一个名为
MyClass
的类,然后启动这个名为
foo
的类的实例,我希望在调用
foo
时执行
MyClass
default
方法

class-MyClass{
构造函数(){
此.props={
问题:“生活,宇宙,一切”,
答复:42
}
}
默认值(){
归还这个道具
}
你好(){
返回“你好,世界”
}
}
const foo=新的MyClass()
//执行默认方法
console.log(foo)//log:{问题:'生活,宇宙,一切',答案:42}
//执行hello方法
console.log(foo.hello())//log:hello world

实例化对象时调用的唯一默认方法是
构造函数

在ES6中,您可以从构造函数返回您想要的任何内容,因此以下代码是有效的:

    class MyClass {
        constructor () {
              var instance = {
                    question: 'live, universe, everything',
                    answer: 42,
                    hello: () => {  return 'hello world' }
              }
              return instance;
        }
     }
然后,您可以像这样实例化一个对象:

var foo = new MyClass();
foo.hello(); //Hello world
console.log(foo.question);    //live, universe, everything
console.log(foo.answer);    //42

我不相信JavaScript有这样的特性,尽管比我更熟悉这个规范的人可能会证明我错了。也就是说,编写
foo.props
真的有那么麻烦吗?介意我们问一下用例是什么吗?我很困惑,你怎么知道你什么时候想要
foo
对象和
foo
MyClass的实例?如果
props
包含一个方法
hello()
,会发生什么情况?@Shih MinLee我只是想知道它是否可行,但正如Joe Clay和RGraham所说,这可能不是一个好主意。@rog3r当然有可能,它只是禁止了一些功能