nodejs 里, 为啥 Array 是否使用 new 都可以被构造
資深大佬 : DinoStray 1
var a = Array() var a = new Array()
这两行代码都可以构造一个 Array, 有啥区别? 为啥 class 一定要有 new 才能构造, Array 却不需要? Array 和自定义的 class 有啥区别
大佬有話說 (5)
var a = Array() var a = new Array()
这两行代码都可以构造一个 Array, 有啥区别? 为啥 class 一定要有 new 才能构造, Array 却不需要? Array 和自定义的 class 有啥区别
var a = new Array() 分三步
1. 创建对象 obj
2. Array.call(obj),在 obj 上下文执行 Array,将返回结果记为 ret
3. 如果 ret 为空,则用 obj 作为返回值,如果 ret 不为空,则用 ret 作为返回值