Учитывать:
function Panda() {
this.weight = 100;
return [1,2];
}
console.log(new Panda());
Когда мы создаем экземпляр с ключевым словом new
(new Panda()
), он возвращает: [1,2]
Без оператора return возвращается: { weight: 100 }
function Panda() {
this.weight = 100;
}
console.log(new Panda());
С оператором return, например: return "Hello"
, он возвращает { weight: 100 }
function Panda() {
this.weight = 100;
return "Hello";
}
console.log(new Panda());
Почему он это делает? Потому что это должен быть объект?
return Object('Hello')
, но, честно говоря, я никогда не знал, что возвращаемые примитивы игнорируются. Очевидно, это применимо как в строгом, так и в нестрогом режиме. - person Patrick Roberts   schedule 28.06.2017