是否可以使对象类似于Date()?

时间:2018-12-13 02:56:44

标签: javascript

我在下面有一个小代码

var a=new Date('12/13/2018');
console.log(a);
//this will output "Thu Dec 13 2018 10:41:29 GMT+0800 (China Standard Time)"

我想制作一个将以类似方式工作的自定义对象或构造函数。可以在javascript中使用吗?

我尝试制作一个简单的构造函数,但其​​功能不如我想要的那样。

function Mdate(b){
    return b;
}
Mdate.prototype={
    add:function(){

    }
}
var c=new Mdate('12/13/18');
console.log(c);
//output is "Mdate {}"

为了不让任何人感到困惑,我不是要制作日期对象副本,而是要制作自定义本机对象,例如字符串,数字,数组等...

我想要存储新对象的变量以显示对象值,同时仍然可以访问对象的原型链

1 个答案:

答案 0 :(得分:0)

您可以扩展日期并定义自己的toString方法,该方法将在控制台中显示。

class MDate extends Date{
    constructor(){
        super(...arguments);
    }
    toString(){
        return 'something'
    }
}
console.log(new MDate);

http://jsfiddle.net/z753x4kv/