top 45 javascript interview questions with detailed answers
Найпоширеніші базові та розширені запитання щодо інтерв’ю з JavaScript із детальними відповідями для кожного розробника JavaScript.
Якщо ви готуєтесь до співбесіди, ось найчастіші запитання та відповіді на інтерв’ю JS для довідки.
Ми розробили те саме, щоб ознайомити вас із питаннями, які можуть виникнути під час технічного співбесіди.
Давайте досліджувати !!
Про JavaScript
JavaScript - це мова програмування високого рівня, на сьогодні, мабуть, одна з найбільш використовуваних мов програмування у світі. Він може бути використаний для програмування веб-браузерів або навіть серверів.
Щоб зрозуміти важливість JavaScript, вимкніть JavaScript у своєму браузері та спробуйте завантажити в нього веб-сторінку. Ці веб-сторінки не працюватимуть належним чином. Багато вмісту в них може поводитися неправильно. Майже всі сучасні браузери використовують комбінацію JavaScript, CSS та HTML.
JavaScript - це інтерпретована мова програмування. Інтерпретатор вбудований у такі браузери, як Google Chrome, Microsoft Internet Explorer тощо. Отже, його код може оброблятися JavaScript Engine браузера.
JavaScript з’явився в грудні 1995 року і спочатку називався LiveScript, хоча його назву невдовзі було змінено з маркетингових міркувань. Її не слід плутати з 'Java', яка також має певну схожість, але є зовсім іншою мовою.
Найчастіші запитання щодо інтерв’ю з JavaScript
Q # 1) Що таке JavaScript?
Відповідь: JavaScript - це мова сценаріїв, розроблена Netscape. Він може бути використаний для програмування веб-браузерів або навіть серверів. Він може динамічно оновлювати вміст веб-сторінки, в чому полягає краса цієї мови.
Питання 2) Які переваги використання зовнішнього JavaScript?
Відповідь: Використання зовнішнього JavaScript у нашому коді має багато переваг.
Вони зазначені нижче.
- Розділення коду зроблено.
- Ремонтність коду дуже проста.
- Продуктивність краща.
Запитання №3) У наведеному нижче фрагменті коду, будь ласка, передбачте результат, або якщо з’явиться помилка, поясніть помилку?
Sample: Software Testing Help
var studentName = 'Sajeesh Sreeni'; // String 'Sajeesh Sreeni' stored in studentName var studentName; // varaible is decalred again document.getElementById('studentName').innerHTML = 'Redeclaring the varaible will not lose the value!.
' +'Here the value in studentName is '+ studentName;
Відповідь є р : Цей код не призведе до помилок. Повторне оголошення змінних допускається в JavaScript. Отже, значення змінної не буде втрачено після виконання тут оператора.
Q # 4) У наведеному нижче фрагменті коду, будь ласка, передбачте результат або Якщо ви отримаєте помилку; поясніть, будь ласка, помилку?
Sample: Software Testing Help
var sum_first =50+20+' Sajeesh Sreeni '; var sum_second= ' Sajeesh Sreeni '+50+20; document.getElementById('sum_first').innerHTML = 'The first varaible sum is :'+sum_first + '
The second varaible sum is :'+sum_second ;
Відповідь: Цей код не відображатиме помилок!
Вихід фрагмента коду:
Перша змінна сума: 70 Sajeesh Sreeni
Друга змінна сума: Sajeesh Sreeni 5020
Q # 5) Яка різниця між методами test () та exec ()?
Відповідь: І test (), і exec () є методами вираження RegExp.
Використовуючи a тест () , ми будемо шукати рядок для заданого шаблону, якщо він знаходить відповідний текст, тоді він повертає булеве значення ‘true’, або ж повертає ‘false’.
Але в exec () , ми будемо шукати рядок для заданого шаблону, якщо він знаходить відповідний текст, тоді він повертає сам шаблон або ж повертає значення «null».
Q # 6) Які переваги JavaScript?
Відповідь: Ця мова сценаріїв має багато переваг, як зазначено нижче.
- Легкий: Це легко реалізувати. Він має невеликі розміри пам'яті.
- Інтерпретується: Це інтерпретована мова. Інструкції виконуються безпосередньо.
- Об'єктно-орієнтована: Це об’єктно-орієнтована мова.
- Першокласні функції: У JavaScript функція може використовуватися як значення.
- Мова сценаріїв: Це мова, на якій написані інструкції щодо середовища виконання.
Q # 7) У наведеному нижче фрагменті коду, будь ласка, передбачте результат або Якщо ви отримаєте помилку; поясніть, будь ласка, помилку?
Sample: Software Testing Help
Example Const Variable
const first_num; first_num =1000; document.getElementById('display').innerHTML = 'First Number:'+ first_num;
Відповідь: Змінна „const“ „first_num“ не ініціалізується зі значенням, тому код видасть синтаксичну помилку.
Вихід фрагмента коду:
Помилка: Uncaught SyntaxError: Відсутній ініціалізатор у декларації const
Q # 8) Чи використовували ви який-небудь браузер для налагодження? Якщо так, то як це робиться?
Відповідь: Натискаючи клавішу «F12» на клавіатурі, ми можемо увімкнути налагодження у браузері. Виберіть вкладку «Консоль», щоб переглянути результати.
У консолі ми можемо встановити точки зупинку та переглянути значення у змінних. Усі сучасні браузери мають вбудований налагоджувач (Наприклад: Chrome, Firefox, Opera та Safari ) . Цю функцію можна вмикати та вимикати.
Q # 9) Яке використання ключового слова 'налагоджувач' у коді JavaScript?
Відповідь: Використання ключового слова «налагоджувач» у коді подібне до використання точок зупинки в налагоджувачі.
Для тестування коду налагоджувач повинен бути ввімкнений для браузера. Якщо налагодження вимкнено для браузера, код не працюватиме. Під час налагодження коду частина, що залишилася, повинна припинити виконання, перш ніж перейти до наступного рядка.
Q # 10) Які різні типи значень назв помилок?
Відповідь: Властивість „Назва помилки“ містить 6 типів значень.
Помилка | Опис |
---|---|
Помилка діапазону | Ми отримаємо цю помилку, якщо використаємо число поза діапазоном |
Синтаксична помилка | Ця помилка виникає, коли ми використовуємо неправильний синтаксис. (Будь ласка, зверніться до питання № 7) |
Помилка посилання | Ця помилка виникає, якщо використовується незадекларована змінна. Зверніться до запитання № 19 |
Помилка Eval | Викинуто через помилку в eval (). У новій версії JavaScript цієї помилки немає |
Помилка типу | Значення виходить за межі діапазону використовуваних типів. Будь ласка, зверніться до запитання No 22 |
Помилка URI | Через використання незаконних символів. |
Q # 11) Що таке підйом JavaScript?
Відповідь: Під час використання методу «Підняття JavaScript», коли інтерпретатор запускає код, усі змінні піднімаються до верхньої частини початкової / поточної області. Якщо у вас є змінна, оголошена де-небудь всередині коду, вона буде перенесена на початок.
Цей метод застосовується лише до оголошення змінної та не застосовується для ініціалізації змінної. Функції також піднімаються зверху, тоді як пояснення функцій не піднімаються зверху.
В основному, те, де ми оголосили змінну всередині коду, не має великого значення.
Q # 12) Що таке 'строгий режим' JavaScript?
Відповідь: «Строгий режим» - це обмежений варіант JavaScript. Зазвичай ця мова „не дуже сувора” у підкиданні помилок. Але в 'суворому режимі' він видасть усі типи помилок, навіть тихі помилки. Таким чином, процес налагодження стає простішим. І ймовірність помилки для забудовника зменшується.
Запитання № 13) Які характеристики JavaScript має «строгий режим»?
Відповідь: Нижче наведено характеристики «строгого режиму»:
- «Строгий режим» зупинить розробників від створення глобальних змінних.
- Розробникам заборонено використовувати повторювані параметри.
- Суворий режим обмежить використання ключового слова JavaScript як імені змінної або функції.
- Суворий режим оголошується ключовим словом «використовувати строгий» на початку сценарію.
- Всі браузери підтримують суворий режим.
Q # 14) Що таке функції самовиклику?
Відповідь: Вони також відомі як „Вираз функції з негайним викликом” або „Самовиконання анонімних функцій”. Ці функції автоматично викликаються в коді, отже, вони називаються як 'Функції, що викликають себе'.
Зазвичай ми визначаємо функцію і викликаємо її, але якщо ми хочемо виконати функцію автоматично там, де це пояснюється, і якщо ми не збираємося викликати її знову, ми можемо використовувати анонімні функції. І ці типи функцій не мають назви.
Q # 15) Який синтаксис 'Функція самовиклику'? Наведіть приклад?
Відповідь:
Синтаксис функції самовиклику:
(function () { return () } () ;
Тут остання дужка ‘()’ у синтаксисі говорить, що це вираз функції.
Приклад самостійно викликаних функцій:
Sample: Software Testing Help
Example for Self-Invoking
(function (){ elem = document.getElementById('dispaly_num'); elem.innerHTML = 'This function has no name.
It is called automatically'; }());
Тут анонімна функція автоматично викликається у фрагменті коду.
Функція використовується для встановлення властивості тексту
тег із ідентифікатором ‘display_num’.
Вихід фрагмента коду:
Ця функція не має імені.
Він викликається автоматично
Q # 16) У наведеному нижче фрагменті коду, будь ласка, передбачте результат або Якщо ви отримаєте помилку; поясніть, будь ласка, помилку?
Відповідь:
Sample : Software Testing Help
Example for JavaScript Hoisting
first_num = 100; // Assign value 100 to num elem = document.getElementById('dispaly_num'); elem.innerHTML = ' Here the variable first_num: '+first_num +' is taken to the top
' + 'Since second variable is initialised the value is not taken to the top and it's value is ' + ''+second_num +' “; var first_num; // declaration only var second_num =200; // Initialised the variable
Будь ласка, зверніться до попереднього запитання № 11, як пояснювалося там, інтерпретатор перенесе всі оголошені змінні, крім ініціалізації, на початок.
Відповідно до цього, змінна ‘first_num’ переноситься вгору, а змінна ‘second_num’ ініціалізується зі значенням, тому вона не береться вгору. Цей код не видасть помилки. Але значення ‘second_num’ не визначено.
Вихід фрагмента коду:
Тут змінна first_num: 100 перенесена вгору
Оскільки друга змінна ініціалізована, значення не береться вгору, і його значення невизначене
Q # 17) Якщо вам потрібно приховати код JavaScript від старих версій веб-переглядача, як ви будете його виконувати?
Відповідь: У коді після тегу додайте „
Це не дозволить браузеру виконувати код JavaScript, якщо він був його старшою версією. Крім того, після кінцевого тегу додайте HTML // тег «// ->».
Цей метод допоможе вирішити проблеми сумісності та інтерфейсу.
Sample: Software Testing Help
Тут фрагмент коду після тегу виконується у моєму браузері, оскільки я не використовую стару версію браузера.
Вихід фрагмента коду:
Тут я не використовую стару версію браузера.
Отже, код працюватиме в моєму браузері
Q # 18) У наведеному нижче фрагменті коду ви можете, будь-ласка, передбачити результат, або якщо ви отримаєте помилку, поясніть помилку?
Sample: Software Testing Help
Find the output
var first_num =500; var result= function(){ document.getElementById('display').innerHTML = first_num; var first_num =1000; } result();
Відповідь: Тут у наведеному вище коді значення змінної ‘first_num’ не буде 1000.
У JavaScript немає підняття для ініціалізації змінної. Функція ‘result ()’ вибере локальну змінну ‘first_num’, оскільки вона оголошена всередині функції. Оскільки змінна оголошується після її використання, значення ‘first_num’ не визначено.
Вихід фрагмента коду:
Не визначено
Q # 19) Яка різниця між ключовим словом 'var' та 'let'?
Відповідь: Різниці такі:
Де | дозволяти |
---|---|
Ключове слово ‘var’ було введено в код JavaScript з самого початку Stage. | Ключове слово „let“ введено лише у 2015 році. |
Ключове слово 'Var' має функціональну область. Змінна, визначена за допомогою var, доступна в будь-якому місці функції | Змінна, оголошена ключовим словом 'let', має область дії лише в цьому блоці. Отже, нехай має Блок Сфера. |
Змінна, оголошена із значенням var, повинна бути піднята | Змінна, оголошена зі значенням 'дозволено' |
Q # 20) У наведеному нижче фрагменті коду, будь ласка, передбачте результат або Якщо ви отримаєте помилку; поясніть, будь ласка, помилку?
Sample: Software Testing Help
Find the output
if(true){ var first_num =1000; let second_num=500; } document.getElementById('display_first').innerHTML = 'First Number:' + first_num; document.getElementById('display_second').innerHTML = 'Second Number:' + second_num;
Відповідь:
Вихід фрагмента коду:
Спочатку Кількість: 1000
Ми отримаємо 'Спочатку Кількість: 1000 ' як вихід. Також є помилка „Помилка невизначеного посилання”.
шлюз за замовчуванням недоступний виправлення Windows 10
У фрагменті коду область дії 'second_num' знаходиться лише в блоці if (). Якщо розробник намагається отримати доступ до значення за межами блоку, він отримає 'Помилка Uncaught Reference'.
Помилка непоміченого посилання: second_num не визначено.
Q # 21) Яка різниця між '==' та '==='?
Відповідь: І '==', і '===' є операторами порівняння.
Оператор ‘==’ | Оператор ‘===’ |
---|---|
Він відомий як 'Оператор перетворення типу' | Він відомий як 'Суворий оператор рівності' |
Він порівнює значення, не порівнює тип | Він порівнює значення і тип. |
Q # 22) У чому різниця між 'let' і 'const'?
Відповідь: Відмінності такі:
дозволяти | конст |
---|---|
за допомогою 'let' ми можемо змінювати значення змінної будь-яку кількість разів | використовуючи «const», після першого присвоєння значення ми не можемо перевизначити значення знову |
Розгляньте код { нехай first_num = 1; номер_першого = 2; документа. запис (first_num); } Тут код видасть результат, оскільки можлива зміна значення first_num. | Розгляньте код { const second_num = 1; номер_секунди = 2; документа. запис (номер_секунди); } Тут код видасть помилку, оскільки ‘second_num’ присвоюється з другим значенням. |
Q # 23) У наведеному нижче фрагменті коду, будь ласка, передбачте результат або Якщо ви отримаєте помилку; поясніть, будь ласка, помилку?
Sample: Software Testing Help
Example of 'Const' Keyword
let first_num =500; first_num=501; document.getElementById('display_first').innerHTML = 'First Number:'+ first_num ; const second_num =1000; second_num=1001; document.getElementById('display_second').innerHTML = 'Second Number :'+second_num;
Відповідь: Будь ласка, зверніться до запитання № 21, перш ніж читати далі
Вихід фрагмента коду:
Перше число: 501
Ми також отримаємо помилку під час запуску коду, оскільки ми намагаємося змінити значення змінної ‘const’.
Помилка: Uncaught TypeError: Присвоєння константі змінної.
Q # 24) У чому різниця між 'null' і 'undefined'?
Відповідь: Обидва ключові слова представляють порожні значення .
Відмінності:
- У 'undefined' ми визначимо змінну, але не будемо призначати значення цій змінній. З іншого боку, в ‘null’ ми визначимо змінну та присвоїмо змінну ‘null’ значення.
- тип (невизначений) та тип (нульовий) об’єкт.
Q # 25) У чому різниця між 'оголошенням функції' та 'вираженням функції'?
Відповідь: Це можна пояснити на прикладі:
Sample: Software Testing Help
Example Function Declaration
function add(first_num,second_num){ return first_num + second_num; } var substract = function sub(first_num,second_num){ return first_num - second_num; } var first_num=700; var second_num=300; document.getElementById('display_add').innerHTML = 'Sum of the number is:' + add(first_num,second_num); document.getElementById('display_sub').innerHTML = 'Difference of the number is:' + substract(first_num,second_num);
Як показано в прикладі add () - це оголошення функції, а subtract () - вираз функції. Синтаксис оголошення - це функція, яка зберігається у змінній.
Оголошення функцій піднімаються, але вирази функцій не піднімаються.
Q # 26) Що таке 'settimeout ()'?
Відповідь: Це буде краще пояснити на прикладі.
Розглянемо фрагмент коду
Console.log (‘First Line’); Console.log (‘Second Line’); Console.log (‘Third Line’);
Вихід фрагмента коду:
Перша лінія
Другий рядок
Третій рядок
Тепер ви вводите метод settimeout () і обертаєте в нього той самий набір коду.
Settimeout(function() { Console.log (‘First Line’); },0); Console.log (‘Second Line’); Console.log (‘Third Line’);
Вихід фрагмента коду:
Другий рядок
Третій рядок
Перша лінія
З введенням settimeout () процеси стають асинхронними. Першими операторами, які потрібно помістити в стек, є Console.log («Другий рядок») та Console.log («Третій рядок»), і вони виконуються першими. Вам потрібно почекати, поки все в стеку не буде завершено першим.
Незважаючи на те, що «0» - це період очікування, це не означає, що його буде виконано відразу.
Q # 27) Що таке закриття та як ви ним користуєтесь?
Відповідь: Закриття - це внутрішня функція. Він може отримати доступ до зовнішніх змінних функції. У Закритті всередині функції_1 є ще одна функція_2, яка повертає значення „А”, а функція_1 також повертає значення; скажіть 'В'.
Тут sum () є зовнішньою функцією, а add () - внутрішньою функцією, вона може отримати доступ до всіх змінних, включаючи ‘first_num’ ‘second_num’ та ‘third_num’. Зовнішня функція викликає внутрішню функцію add ().
// To find the sum of two numbers using closure method function sum( first_num, second_num ) { var sumStr= 600; function add(first_num , second_num) { return (sumStr + (first_num + second_num)); } return add(); } document.write('Result is :'+ sum(150,350));
Вихід фрагмента коду:
Результат: 500
Q # 28) У наведеному нижче фрагменті коду, будь ласка, передбачте результат або Якщо ви отримаєте помилку; поясніть, будь ласка, помилку?
Sample: Software Testing Help
Example Assignmnet Statement
var x =500; let y,z,p,q; q=200; if(true){ x=y=z=p=q; document.getElementById('display').innerHTML = 'x='+ x + '
y :'+ y +'
z :'+ z+'
p :'+ p+'
q :'+ q; }
Відповідь: Заяви про присвоєння розглядаються справа наліво.
Вихід фрагмента коду:
х = 200
і: 200
з: 200
р: 200
q: 200
Q # 29) Чи можете ви навести приклад, коли фрагмент коду показує різницю між методами test () та exec ()?
Sample : Software Testing Help
Example for exec() methods
Click the button to search for a pattern 'How“ in the given string 'Hello. Good Morning. How do you feel today?'
If the 'How' is found, the method will return the pattern
Search function searchTxt() { var str = 'Hello. Good Morning. How do you feel today?'; var search_patt = new RegExp('How'); var res = search_patt.exec(str); document.getElementById('result').innerHTML ='Found the pattern :'+ res; }
Відповідь: Це приклад методу test () та exec (), зверніться до запитання No 5, щоб дізнатися більше.
Вихід фрагмента коду:
Знайшов шаблон за допомогою exec (): How
За допомогою test () результат: true
Q # 30) Чи можете ви навести приклад, що показує підйом JavaScript?
Відповідь:
Sample: Software Testing Help
Example for JavaScript Hoisting
num = 100; // Assign value 100 to num elem = document.getElementById('dispaly_num'); elem.innerHTML = 'Here the variables are used before declaring it.' + '
The value of the variable is ' + num; var num; // Declare the varaible
Будь ласка, зверніться до запитання №11 для отримання детальної інформації.
Тут використовується змінна ‘num’ перед її оголошенням. Але підняття JavaScript дозволить.
Вихід фрагмента коду:
Тут змінні використовуються перед їх оголошенням.
Значення змінної дорівнює 100
Питання # 31) Чи можете ви навести приклад, що показує використання ключового слова 'налагоджувач' у коді JavaScript?
Відповідь:
Sample: Software Testing Help
Example for debug keyword
Here to test the code, debugger must be enabled for the browser,
during debugging the code below should stop executing before it goes to the next line.
var a = 1000; var b = 500; var sum = a + b; document.getElementById('wait_result').innerHTML = 'Adding numbers......
Select 'Resume Script execution' to continue: '; debugger; document.getElementById('show_result').innerHTML = 'Sum of the numbers : '+sum;
Примітка: Для тестування коду браузер повинен увімкнути налагоджувач. Зверніться до запитання №: 5, щоб дізнатися більше
Це приклад налагодження ключового слова (використовуваний браузер: Chrome)
Вихід фрагмента коду:
Тут для тестування коду налагоджувач повинен бути ввімкнений для браузера,
під час налагодження наведеного нижче коду слід припинити виконання, перш ніж перейти до наступного рядка.
Додавання цифр…
Виберіть «Відновити виконання сценарію», щоб продовжити:
Сума чисел: 1500
Q # 32) У наведеному нижче фрагменті коду, будь ласка, передбачте результат або Якщо ви отримаєте помилку; поясніть, будь ласка, помилку?
Sample: Software Testing Help
Example Type Converting
java програмування інтерв'ю запитання для досвідчених
var first_num =500; var first_name='500'; if(first_num == first_name){ document.getElementById('display').innerHTML = 'Comparison will return 'true' by Type converting Operator '; }
Відповідь: Розгляньте код
If (‘100’==100) { document. write (“It’s a Type Converting Operator”); } Here typeof(‘100’) is string typeof(100) is number the ‘==’ operator will convert the number type, which is on the right side of the operator to string and compare both values
Вихід фрагмента коду:
Порівняння поверне 'true' за оператором перетворення типів
Q # 33) Чи схожі Java та JavaScript? Якщо ні, то в чому різниця між Java та JavaScript?
Відповідь:
Sl No | Java | JavaScript |
---|---|---|
один | Java є мовою програмування загального призначення. | JavaScript - це інтерпретована мова сценаріїв високого рівня. |
два | Java заснована на концепціях об’єктно-орієнтованого програмування (OOPS). | JavaScript є як об'єктно-орієнтованим, так і функціональним сценарієм. |
3 | Запускається у віртуальній машині Java (JVM) або браузері. | Працює лише у браузері. |
4 | Код Java потрібно скомпілювати як файл класу Java. | JavaScript не має кроку компіляції. Натомість інтерпретатор у браузері зчитує код JavaScript, інтерпретує кожен рядок і запускає його. |
Отож, коротко, ці мови взагалі не пов’язані та не залежать одна від одної.
Q # 34) Які типи даних підтримуються JavaScript?
Відповідь: JavaScript підтримує наступне Сім типи примітивів даних та Об'єкт :
(i) Логічна: Це логічний тип даних, який може мати лише два значення, тобто true або false. Коли ми перевіряємо тип даних 'true' або 'false' за допомогою оператора typeof, він повертає логічне значення.
Наприклад, typeof (true) // повертає логічне значення
Булеві значення можна використовувати для порівняння двох змінних.
Наприклад,
var x = 2; var y = 3; x==y //returns false
Булеве значення також може бути використано для перевірки стану
Наприклад,
var x = 2; var y = 3; If(xЯкщо вищевказана умова ‘x Логічну змінну можна створити за допомогою функції Boolean ().
var myvar = ‘Hi'; Boolean(myvar); // This returns true because the 'myvar' value exists
Також булевий об'єкт можна створити за допомогою нового оператора наступним чином:
var myobj = new Boolean(true);
(ІІ) Нуль :Це тип даних, який представлений лише одним значенням, самим ‘null’. Нульове значення означає відсутність значення.
Наприклад,
var x = null; console.log(x);// This returns null
Якщо ми перевіримо тип даних a за допомогою оператора typeof, то отримаємо:
typeof(x); // This returns object. type of a null value is an object, not null.
(iii) Не визначено: Цей тип даних означає змінну, яка не визначена. Змінна оголошена, але вона не містить жодного значення.
Наприклад,
var x; console.log(x); // This returns undefined x=10;//Assign value to x console.log(x); // This returns 10
Змінна 'a' оголошена, але їй ще не присвоєно значення.
Ми можемо призначити значення:
(iv) Номер: Цей тип даних може бути значенням із плаваючою точкою, цілим числом, експоненціальним значенням, „NaN“ або „Нескінченністю“.
Наприклад,
var x=10; // This is an integer value var y=10.5; // decimal value var c = 10e5 // an exponential value ‘xyz’ * 10; //This returns NaN 10/0; // This returns infinity
Числовий літерал можна створити за допомогою функції Number ():
var x = Number(10); console.log(x);// This returns 10
Також об’єкт числа можна створити за допомогою оператора ‘new’ наступним чином:
var x= new Number(10); console.log(x); // This returns 10
(v) BigInt: Це числовий примітив, який може представляти цілі числа з довільною точністю. BigInt створюється додаванням n до кінця цілого числа
Наприклад,
const x = 15n;
Число можна перетворити на BigInt за допомогою функції BigInt (число).
const x = 251; const y = BigInt(x); y === 251n // returns true
(vi) Рядок: Цей тип даних використовується для представлення текстових даних.
Наприклад,
var strVar1 = “Hi,how are you?”; var strVar2 = ‘Hi,how are you?’;
Новий рядок також можна створити за допомогою функції String () наступним чином:
var strVar3 = String(‘Hi,how are you?’); // This creates a string literal with value ‘Hi,how are you?’
Функція String () також використовується для перетворення нерядкового значення у рядок.
String(150); // This statement will create a string ‘150’
Рядок також можна створити за допомогою «Новий» оператора
var strVar4 = new String(“Hi,how are you?”); // This is a string object console.log(strVar4); // This will return the string ‘Hi,how are you?’
Рядки JavaScript незмінні, тобто після створення рядка його неможливо змінити. Але інший рядок може бути створений за допомогою операції над вихідним рядком.
Наприклад,
- Конкатенацією двох рядків за допомогою оператора конкатенації (+) або String.concat () .
- Отримавши підрядок за допомогою String.substr () .
(vii) Символ: Це унікальне та незмінне примітивне значення, яке використовується як ключ властивості Object. Символи є новими для JavaScript у ECMAScript 2015
ДО Символ значення представляє унікальний ідентифікатор.
Наприклад,
var symVar1 = Symbol('Symbol1'); let symVar2 = Symbol('Symbol1'); console.log(symVar1 === symVar2); // This returns 'false'.
Отже, багато символів створюються з однаковим описом, але з різними значеннями.
Символи не можуть бути автоматично перетворені.
Наприклад,
var symVar1 = Symbol('Symbol1'); alert(symVar1); // This gives TypeError: Cannot convert a Symbol value to a string
З цим можна працювати toString () наступним чином:
alert(symVar1.toString()); // Symbol(symVar1), this works
Тип даних об’єкта
Об'єкт - це значення в пам'яті, на яке посилається ідентифікатор.
Об'єкт відноситься до структури даних, що містить дані та інструкції щодо роботи з даними. Об'єкти іноді відносяться до реальних речей, Наприклад, працівник або машина.
Наприклад,
В об'єктах JavaScript значення записуються як назва: значення пари, як показано нижче:
var car1 = {type:'BMW', model:” The BMW X5“, color:'white'}; An object definition can span multiple lines as follows: var car1 = { type:'BMW', model: 'The BMW X5', color:'white' };
ім'я: значення пари називаються властивості . Наприклад, «Тип» - це власність, а «BMW» - вартість власності.
Значення властивостей доступні за допомогою objectName.propertyName
або objectName (“propertyName”)
Наприклад, car1.type або car1 ('тип'), повертає 'BMW'
Значення об'єкта car1 можна змінити наступним чином:
car1.type = “Audi”;
Зараз,
console.log(car1) ;//This will return {type:'Audi', model:” The BMW X5“ , color:'white'};
Q # 35) Чи є JavaScript чутливою до мови?
Відповідь: Так, JavaScript є чутливою до регістру мовою. Значення цього - ключові слова мови, змінні, імена функцій та будь-які інші ідентифікатори, які завжди повинні вводитися послідовними великими або малими літерами.
Наприклад, myVar - це інша змінна, ніж myvar.
Q # 36) Як визначити, до якого типу даних належить операнд?
Відповідь: Тип даних операнда можна знайти за допомогою оператора typeof
Він повертає рядок із зазначенням типу операнда.
Синтаксис : type операнда
typeof (операнд)
Операндом може бути будь-яка змінна, об'єкт або функція.
Наприклад,
console.log (typeof 10);// expected output: 'number' console.log (typeof 'hello');// expected output: 'string' console.log (typeof);//expected output: //'undefined';
Q # 37) Чому JavaScript називається вільно введеною або динамічною мовою?
Відповідь: JavaScript називається вільно набраним або динамічним мовою, оскільки змінні JavaScript не пов'язані безпосередньо з будь-яким типом значень, і будь-якій змінній можна призначати та переназначати значення всіх типів:
Наприклад,
var myvar = ‘abc’; // myvar is string myvar =true; // myvar is now a boolean myvar = 10; // myvar is now a number
Q # 38) Що таке null у JavaScript?
Відповідь: Значення null представляє навмисну відсутність будь-якого значення об’єкта.
Це одне з примітивних значень JavaScript.
Наприклад,
Var myvar = null; console.log(myvar); //This will print null
Q # 39) Що таке NaN?
Відповідь: NaN є властивістю глобального об'єкта, що представляє Not-A-Number.
Наприклад,
function checkValue(x) { if (isNaN(x)) { return NaN; } return x; } console.log(checkValue ('5')); //expected output: '5' console.log(checkValue (‘Any value’)); //expected output: NaN
Q # 40) Як розділити рядок на елементи масиву?
Відповідь: Рядок можна розділити на масив за допомогою методу JavaScript split (). Цей метод приймає один параметр - символ, для якого потрібно відокремити рядок, і повертає підрядки між розділювачем як елементи в масиві.
Наприклад,
myDaysString = ''Sunday,Monday,Tuesday,Wednesday”; String can be split at comma as below: myDaysArray= myDaysString.split(','); console.log(myDaysArray(0)); //output is the first item in the array i.e. Sunday console.log (myDaysArray(myDaysArray.length-1)); //output is the last //item in the array i.e. Wednesday
Q # 41) Як об'єднати елементи масиву в рядок?
Відповідь: Елементи масиву можна об’єднати методом join ().
Наприклад,
var myDaysArray= ('Sunday','Monday','Tuesday',”Wednesday”);
Елементи масиву об'єднуються в рядок наступним чином:
myDaysString= myDaysArray.join(','); console.log(myDaysString);//output is joined string i.e.//Sunday,Monday,Tuesday,Wednesday
Q # 42) Який тип помилок має JavaScript?
Відповідь: Нижче наведено 2 типи помилок:
- Синтаксичні помилки: Це помилки друку або помилки в написанні коду, які призводять до того, що програма взагалі не запускається або перестає працювати на півдорозі. Зазвичай також надаються повідомлення про помилки.
- Логічні помилки: Це помилки, коли синтаксис правильний, але логіка або код неточні. Тут програма успішно працює без помилок. Але результати виведення неправильні. Їх часто важче виправити, ніж синтаксичні помилки, оскільки ці програми не видають жодних повідомлень про помилки логічних помилок.
Q # 43) Як ефективно обробляти велику кількість варіантів для однієї умови шлях?
Відповідь: Це робиться за допомогою операторів switch:
Наприклад,
switch (expression) { case choice1: code to be run break; case choice2: code to be run break; : : default: code to run if there is no case match }
Q # 44) Що таке потрійний оператор?
Відповідь: Трійковий або умовний - це оператор, який використовується для швидкого вибору між двома варіантами на основі істинної чи хибної перевірки.
Це може бути використано як заміна блоку if ... else, коли є два варіанти вибору, які вибираються між істинною / хибною умовою.
Наприклад,
if (some condition) result = ‘result 1’; else result = ‘result 2’;
Той самий код можна записати, використовуючи тернарний оператор, в одному твердженні наступним чином:
результат = (умова)? ‘результат 1’: ‘результат 2’;
Q # 45) Припустимо, існує об’єкт, який називається особою
const person = {
ім'я: {
перший: 'Боб',
останнє: 'Сміт'
}
};
Що з наведеного є правильним способом доступу до властивості об’єкта „першим”?
- person.name.перше,або
- особа (‘ім’я’) (‘перший’)?
Відповідь: І той, і інший правильний спосіб. тобто використання крапок, таких як person.name.first або використання позначок у дужках, як person (‘ім’я’) (‘перший’)
Q # 46) Що таке 'це'?
Відповідь: Ключове слово ‘this’ стосується поточного об’єкта, коду якого пишеться всередині.
Це забезпечується використання правильних значень при зміні контексту учасника
Наприклад, є два різні випадки a людина з різними іменами, і їх потрібно надрукувати у сповіщенні власним ім’ям наступним чином:
const person1 = { name: 'Tom', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Тут вихід Добрий ранок! Я «Том»
const person2 = { name: 'Jerry', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Тут вихід Добрий ранок! Я - Джеррі
Q # 47) Що таке анонімні функції?
Відповідь: Анонімні функції - це функції, які не мають жодного імені, і самостійно нічого робити не будуть. Зазвичай вони використовуються разом із обробником подій.
Наприклад, у наступному коді - анонімний код функції, тобто оповіщення («Привіт»); запускатиметься за натисканням відповідної кнопки:
var myButton = document.querySelector('button'); myButton.onclick = function() { alert('Hi'); }
Анонімну функцію також можна призначити значенню змінної.
Наприклад,
var myVar = function() { alert('Hi'); }
Цю функцію можна викликати за допомогою:
myVar();
Висновок
Краще зберігати коди JavaScript, CSS та HTML як окремі зовнішні файли „js“. Розділення частини кодування та частини HTML полегшить читання та роботу з ними. Багато розробників також вважають, що з цим методом легше працювати одночасно.
Код JavaScript простий в обслуговуванні. Один і той же набір кодів JavaScript можна використовувати на кількох сторінках. Якщо ми використовуємо зовнішні коди JavaScript і якщо нам потрібно змінити код, то нам потрібно змінити його в одному місці. Щоб ми могли повторно використовувати код і підтримувати їх набагато простіше.
Пропоноване читання = >> TypeScript проти JavaScript
Код JavaScript має кращу продуктивність. Зовнішні файли JavaScript збільшать швидкість завантаження сторінки, оскільки вони будуть кешовані браузером.
Сподіваюся, ви знайшли корисними запитання та відповіді на інтерв’ю JavaScript. Практикуйте якомога більше запитань і будьте впевнені в собі.
Рекомендована література
- Запитання та відповіді на інтерв’ю
- Найкращі 32 запитання та відповіді на інтерв’ю на етапі обробки даних
- Запитання та відповіді на інтерв’ю для тестування ETL
- Топ 20+ запитань та відповідей на інтерв’ю .NET
- Деякі хитрі ручні тестування Питання та відповіді
- 25 найкращих запитань та відповідей на інтерв’ю для спритного тестування
- Запитання для інтерв’ю з Spock (найпопулярніші)
- Деякі цікаві питання для тестування програмного забезпечення