Question: Just that. [Mozilla's Introduction to OOP in Javascript](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript) explains that `console.log()` function isn't actually part of Javascript itself. So I'm very interested to know why these?

Answer: 
JavaScript is a language specification (strictly speaking, [ECMAScript](https://en.wikipedia.org/wiki/ECMAScript)).

`console`, on the other hand, *is an API*. There are currently [669 Web APIs listed on MDN](https://developer.mozilla.org/en-US/docs/Web/API) (to answer your second question). Same goes for `window`, for example.

Why isn't it part of JavaScript core? The same reason `window` isn't available to NodeJS (core) or `process` isn't available in the browser: these APIs are implemented by the environments within which JavaScript runs.

Similarly, why would one implement `alert()` in NodeJS, where there in no UI within which you could launch a modal with your message?
Javascript-Interpreters are very complex packages of software.
However, as Chromium (a.k.a Google Chrome), Microsoft Chakra and Mozilla Firefox are open source, feel free to explore their source code.

Here is the source-code for Microsoft Chakra:
[Microsoft/ChakraCore on Github](https://github.com/Microsoft/ChakraCore)

It has good docs, so you should find out very fast how it works. However, going into real deep details can be very hard...