在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)和基类默认构造函数没有?
答案 0 :(得分:0)
在这种情况下,..args
似乎是多余的,但是当基础对象不是Object
时,您应该考虑这种情况。在这种情况下,使用参数调用超级构造函数是完全合理的。
所以,我们假设有一些类A
和B
。 A
确实有明确定义的构造函数,B
没有定义,但A
是B
的超类。在这种情况下,如果您调用new B(myArg)
,则调用constructor
的{{1}}是合乎逻辑的。