После просмотра нескольких туториалов по JavaScript на Udemy или YouTube и создания нескольких реальных проектов вы все равно не сможете устроиться на работу разработчиком JavaScript. Это связано с тем, что многие разработчики упускают из виду основные концепции программирования и сосредотачиваются на больших и сложных концепциях. В этой статье будут освещены некоторые из основных вопросов, которые могут возникнуть на собеседовании по JavaScript, и как правильно на них ответить.
- В чем разница между ключевыми словами "var" и "let"?
И «var», и «let» используются для объявления переменных, которые можно переназначать. то есть те, которые не являются константами. Однако они все же сильно отличаются друг от друга.
а. `var` был в языке JavaScript с самого начала, а `let` был представлен в ES2015/ES6.
б. `var` имеет «область действия». Это означает, что он умирает в конце функции, в которой он определен, в то время как `let` имеет «область действия блока», что означает, что он умирает в конце блока, в котором он определен.
// Function Scope function fScope() { var x = 100; } console.log(x); // this will throw an error that x is not defined since x is only accessible within the function it's defined in // Block Scope let function(){ }
в. Переменные, определенные с помощью `var`, "поднимаются" вверху функции, а переменные, определенные с помощью `let ` не получить "поднятие". Это означает, что они не существуют до их определения.
console.log(x); console.log(y); var x = '4'; let y = 3; // The second line will throw an error:y is not defined
2. В чем разница между операторами сравнения «==» и «===»?
а. «==» сравнивает только значения с обеих сторон, а «===» сравнивает значения и типы.
Примечание:‘==’ пытается сделать значения обеих сторон равными, делая их одного типа.
// == will give an output of 'Age is 55 while === will give an output of 'Wrong!' var age = '55'; if (age === 55){ console.log('Age is 55'); } else { console.log('Wrong!'); }
3. В чем разница между ключевыми словами «let» и «const»?
`const`используется для определения констант → переменных, которые нельзя переназначить, в то время как`let`используется для определения переменные, которые можно переназначить.
Если вы определяете массив с помощью `const`, вы можете только поместить элемент в массив, но не можете переназначить его.
const x = [1, 5]; x.push(7); // this will work and result in an array that looks like [1, 5, 7] const x = [1, 5, 7]; // will result in an error /* * When using `let`, you can reassign a variable as many times as you want */ let age = 50; let age = '50'; let age = 'fifty';
4. В чем разница между ‘null’ и ‘undefined’?
Оба представляют пустое значение в переменной. Когда вы определяете переменную и не можете присвоить значение, JavaScript автоматически помещает заполнитель с именем undefined'. В случае 'null', программист вручную присваивает переменной значение 'null'.
Чтобы ответить на этот вопрос более критическим образом, вы можете сказать, что когда вы проверяете тип null и undefined, вы получаете следующий вывод.
typeOf(undefined) -> undefined typeOf(null) -> object