__proto__プロパティにnullを代入すると、Object.prototypeのメソッドを継承しないクリーンなオブジェクトを手に入れることができる。 var o = {__proto__: null}; console.log(typeof o.toString); // undefined console.log('__proto__' in o); // false console.log(typeof o.__proto__); // undefined console.log(Object.getPrototypeOf(o)); // null console.log(o instanceof Object); // false '' + o; // TypeError: can't convert o to primitive type 何故か__proto__に代入すると