Javascript中的默认构造函数

时间:2016-08-01 06:09:33

标签: javascript ecmascript-6

在MDN中,提到如果我们不指定构造函数方法,则使用默认构造函数。

对于基类,默认构造函数是:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
  <script>
$(document).ready(function() {

    $('#click').click(function() {
        $.ajax({
            url: "json.json",
            method: "GET",
            dataType: 'json',
             success: function(result){
                  console.log(result);
             },
             error:function() {
                 alert("Error")                  
             }
        });
    });
});
</script>

对于派生类,默认构造函数为:

constructor() {}

为什么派生类的默认构造函数有rest参数(... args)和基类默认构造函数没有?

1 个答案:

答案 0 :(得分:0)

在这种情况下,..args似乎是多余的,但是当基础对象不是Object时,您应该考虑这种情况。在这种情况下,使用参数调用超级构造函数是完全合理的。

所以,我们假设有一些类ABA确实有明确定义的构造函数,B没有定义,但AB的超类。在这种情况下,如果您调用new B(myArg),则调用constructor的{​​{1}}是合乎逻辑的。