DEV Community 👩‍💻👨‍💻

Cover image for The most repeated questions I met with on job interviews (part 1)
Jakub Smetanka
Jakub Smetanka

Posted on • Updated on

The most repeated questions I met with on job interviews (part 1)

A wiseman once said : "If you can not explain it, you do not understand it". A few years ago, when I had searched for a job as a student I went through a lot of interviews. For web positions related to Javascript, there were some questions which repeat regularly. And it makes sense, to asked them also today.

const vs let vs var

const keyword create block scope variable and prevents its value to be reassigned by a new value. However, important thing is that it does not restrict to change the internal state of the object.

let is block-scope variable while var is function-scope variable.

'===' vs '==' comparison

=== is strict comparison, it checks value and type of value as well, so 1 === "1" returns false, the opposite of that is == comaparison which checks only value so 1 == "1" returns true.

Can we compare two objects with '===' ?

NO. Object is reference type. Two distinct object never be equal even they have same property. That's why you will get false when you are using '===' comparison. In Javascript also exist built-in function, value2) EDIT: which returns true if objects are equals, otherwise it returns false.

Visit website

Follow me on Twitter


Eloquent Javascript

Top comments (12)

sfiquet profile image
Sylvie Fiquet

I was surprised by your assertion that you can use to compare two objects instead of === so I looked it up on MDN. Like ===, compares references. It will return false for two distinct objects with the same properties.

The only difference between and === is in their treatment of signed zeroes and NaNs.

smetankajakub profile image
Jakub Smetanka Author

You are right, thanks, I have edited text

piyushmbm45 profile image
Piyush Jain

Nice Article Jakub...

captainyossarian profile image

Bte, sometimes I use === to compare obj ref

arohi profile image

Very Insightful Blog!

timbrown profile image
Timothy Brown

Short and useful! Great article!

ranemihir profile image
Mihir Rane

Short and to the point. Really helpful article, thanks!

the_one profile image
Roland Doda

I don't think that returns true if objects are equal:

var foo = { a: 1 };
var bar = { a: 1 };, bar); // false

Even empty arrays are not equal:[], []); // false

smetankajakub profile image
Jakub Smetanka Author

Thanks, my bad. I have edited it.

sousacaio profile image
Caio frias

Nice iniciative bro, most of my interviews i encounter with these questions.

smetankajakub profile image
Jakub Smetanka Author

Glad to hear that


"I made 10x faster JSON.stringify() functions, even type safe"

☝️ Must read for JS devs