The core part of the language includes the operators and basic language elements. This covers constructs such as for loops, while loops, if/else conditions and switch/case trees.
The Global object is included in the core language, but gets extended with additional functionality when the interpreter is hosted.
The prototype-inheritance mechanisms, scope chain, and function call support is part of the core language too, as are the constructor frameworks.
These are built around the generic set of objects that represents the primitive data types such as Number, Boolean, String and Array.
The core language also includes the Math and Date object support.