как я могу скрыть стандартные методы объекта при создании нового экземпляра - PullRequest
1 голос
/ 16 декабря 2011

Я хотел бы скрыть все методы по умолчанию, такие как toString, hasOwnProperty, valueOf и так далее при создании экземпляра.Как это возможно?

function Foo() {};
var x = new Foo();
x.toString(); //should fail

И дополнительно;Я могу понять, что если я сделаю это, я не смогу сделать следующее:

console.log(x);

Но что еще использует эти функции?

1 Ответ

1 голос
/ 16 декабря 2011

Если вы действительно хотите, вы можете написать поверх toString метод:

    Foo.prototype.toString = undefined;
...