What is the difference between Window and window?

What is Window ?

Here's what I see on the console in Chrome :

    window
    Window {top: Window, window: Window, location: Location, external: Object, 
chrome: Object…}

    Window
    function Window() { [native code] }

Solution 1:

Window is a function, as you can see. It's the constructor for the windows (but you can't build new windows directly with the constructor, you usually use the Window.open function). Window.prototype thus holds the methods you can call on the window).

window is the global variable holding an instance of Window, it represents the browser window containing your document (not really a "window" usually, rather a tab in modern browsers).

You can check that

window instanceof Window

is

true

Solution 2:

Window is the constructor function that is used to create window.

To see this, try alert(window.constructor === Window).

Solution 3:

console outputs from the Chrome browser:

console.log(window instanceof Window);      // true
console.log(window.constructor === Window); // true
console.log(this);   // Window {document:document, alert:ƒ, setTimeout:ƒ,..}
console.log(window); // Window {document:document, alert:ƒ, setTimeout:ƒ,..}
console.log(Window); // ƒ Window() { [native code] }