Here's a good example: when you use Node's vm.createContext() method, basically a direct binding to V8 functionality, here's what that global context has:
  Errors:     [Error, EvalError, RangeError, ReferenceError,
               SyntaxError, TypeError, URIError],
  Types:      [Array, Boolean, Date, Function, Map, Number,
               Object, Proxy, RegExp, Set, String, WeakMap], //--harmony: [Map, Proxy, Set, WeakMap]
  Primitives: [Infinity, NaN, undefined],
  Dicts:      [Math, JSON],
  Methods:    [decodeURI, decodeURIComponent, encodeURI, encodeURIComponent,
               escape, eval, isFinite, isNaN, parseFloat, parseInt, unescape]
It doesn't even have set/clearTimeout, set/clearInternal (not native javascript functions). JavaScript as a language is much more tightly focused than most realize. It always exists in a host environment that adds more stuff on top.