**Question 1: What is typeof [] ?**

**Ans:** Object. Actually, Array is derived from Object. If you want to check the array use Array.isArray(arr)

**Question 2: What is typeof arguments?**

**Ans:** Object. arguments are array-like but not array. it has length, can access by index but can't push pop, etc.

**Question 3: What is 2+true?**

**Ans:** 3. The plus operator between a number and a boolean or two boolean will convert boolean to number. Hence, true converts to 1 and you get a result of 2+1

**Question 4: What is '6'+9 ?**

**Ans:** 69. If one of the operands of the plus (+) operator is a string it will convert other numbers or boolean to string and perform concatenation. For the same reason, "2"+true will return "2true"

**Question 5: What is the value of 4+3+2+"1" ?**

**Ans: **91 . The addition starts from the left, 4+3 results 7 and 7+2 is 9. So far, the plus operator is performing addition as both the operands are number. After that 9 + "1" where one of the operands is string and plus operator will perform concatenation.

**Question 6: What is the value of "1"+2+4 ?**

**Ans: **"124". For this one "1" + 2 will produce "12" and "12"+4 will generates "124".

**Question 7: What is the value of -'34'+10 ?**

**Ans:** -24. minus(-) in front of a string is an unary operator that will convert the string to a number and will make it negative. Hence, -'34' becomes, -34 and then plus (+) will perform simple addition as both the operands are number.

**Question 8: What is the value of +'dude' ?**

**Ans:** NaN. The plus (+) operator in front of a string is an unary operator that will try to convert the string to number. Here, JavaScript will fail to convert the "dude" to a number and will produce NaN.

**Question 9: If you have var y = 1, x = y = typeof x; What is the value of x?**

**Ans:** "undefined"

**Question 10: for var a = (2, 3, 5); what is the value of a?**

**Ans: 5**. The comma operator evaluates each of its operands (from left to right) and returns the value of the last operand. ref: MDN

**Question 11: for var a = (1, 5 - 1) * 2 what is the value of a?**

**Ans:** 8

**Question 12: What is the value of !'bang' ?**

**Ans:** false. ! is NOT. If you put ! in front of truthy values, it will return false. Using !! (double bang) is a tricky way to check anything truthy or falsy by avoiding implicit type conversion of == comparison.

**Question 13: What is the value of parseFloat('12.3.4')?**

**Ans: **12.3

**Question 14: What is the value of Math.max([2,3,4,5]) ?**

**Ans:** NaN

**Question 15: 3 instanceof Number ?**

**Ans**: false

**Question 16:null == undefined ?**

**Ans:** true

**Question 17:What is the value of !!function(){};**

**Ans:** true

**Question 18: What is the value of typeof bar ?**

**Ans: **"undefined"

**Question 19: What is the value of typeof null?**

**Ans:** "object"

**Question 20: If var a = 2, b =3 what would be value of a && b ?**

**Ans:** 3

**Question 21: What would be consoled var foo = 'outside'; function logIt(){console.log(foo); var foo = 'inside';} logIt() ?**

**Ans:** undefined

**Question 22: What is -5%2 ?**

**Ans:**-1. the result of remainder always get the symbol of first operand.

**Question 23: Why .1+.2 != .3 ?**

**Ans:** Because the answer will be 0.30000000000000004.

For more details click here.

**Question 24: 42..toString() ?**

**Ans:** "42"

**Question 25: 4.2..toString ?**

**Ans**: SyntaxError: Unexpected token .

**Question 26:42 . toString() ?**

**Ans:** "42"

**Question 27: typeof(NaN) ?**

**Ans:**"number"

**Question 28: 2 in [1,2]?**

**Ans:** false. Because "in" returns whether a particular property/index available in the Object. In this case, object has index 0 and 1 but don't have 2. Hence you get false.

### You Might Like:

*Node.js interview questions set 1*

*Node JS: Understanding bin in package.json.*

*Node.js: Bundling your Node.js application to a single executable for Windows.*

*Node.js: Extract text from image using Tesseract.*

## Comments

## Post a Comment