Interview Questions 101

by KevinABoucher

HTML

Hello World!

JavaScript

// Question 1:
// What will the following lines output?
/* console.log(false == '0')
console.log(false === '0')
console.log(0.1 + 0.2);
console.log(0.1 + 0.2 == 0.3); */


// Question 2:
// What will be output to the console and why?
/* var myObject = {
    foo: "bar",
    func: function() {
        var self = this;
        console.log("outer func:  this.foo = " + this.foo);
        console.log("outer func:  self.foo = " + self.foo);
        (function() {
            console.log("inner func:  this.foo = " + this.foo);
            console.log("inner func:  self.foo = " + self.foo);
        }());
    }
};
myObject.func(); */

// Question 3:
// Although typeof bar === "object" is a reliable way of checking if bar is an object, 
// the surprising gotcha in JavaScript is that null is also considered an object!
// Fix the following so it logs false...
/* var bar = null;
console.log(typeof bar === "object");  // logs true!

console.log((bar !== null) && ((typeof bar === "object") || (typeof bar === "function"))); */


// Question 4
/* for (let i = 0; i < 5; i++) {
  setTimeout(function() { console.log(i); }, i * 1000 );
} */