JavaScript - это язык программирования высокого уровня. Для овладения этим языком вам необходимо овладеть некоторыми основными концепциями и фундаментальными концепциями JavaScript. Я попытался дать некоторую полезную информацию по этому поводу.

Типы значений:

В JavaScript есть 9 типов значений в двух разных категориях. Первая категория - это примитивная категория, в которой мы можем получить 7 типов значений: - Undefined, Null, Booleans, Numbers, Strings, Symbols, BigInts. А другая категория - это объекты и функции, где мы получаем два типа значений: объект и функция.

Не определено. Это тип, при котором мы обнаруживаем непреднамеренно пропущенные значения.

Null: это тип, в котором мы находим намеренно пропущенные значения.

Boolean: это тип, который используется для логических операций.

Число: это тип, который содержит числа. В основном используется для математики.

Строка. Это тип, содержащий символы. В основном используется для текстов.

Символ: это тип уникального значения. В основном используются для добавления уникальных ключей свойств к объекту, которые не будут конфликтовать с ключами, которые любой другой код может добавить к объекту, и которые скрыты от любых механизмов, которые другой код обычно использует для доступа к объекту.

BigInts: это тип для большой математики или чисел.

Объект: это особый тип значения, которым я могу управлять из моего кода. Используется в объекте.

Функция: это особый тип значения, которым также можно управлять из моего кода, и он предназначен для функций.

Что такое петля событий?

Цикл событий - это цикл, который передает запрошенные данные из веб-API в очередь обратных вызовов в стек вызовов. Что такое стек вызовов? Что ж, стек вызовов - это стек, который используется для выполнения функций JavaScript. Мы знаем, что в асинхронных обратных вызовах JavaScript мы используем функцию setTimeout (). Теперь эта функция setTimeout () отправляет функцию обратного вызова по истечении заданного времени в веб-API и выполняет программу. Всякий раз, когда API извлекает данные, он отправляет данные в очередь задач. А вот и цикл событий. Цикл событий ищет, выполняется программа или нет, если она выполняется, то отправляет данные из очереди задач в стек вызовов.

Пример:

(function() {

  console.log('Start');

  setTimeout(function CB() {
    console.log('First Callback: Message from call back');
  });

  console.log('Message');

  setTimeout(function CB2() {
    console.log('Second Callback: Message from call back');
  }, 0);

  console.log('The end');

})(); 

Что такое «Попробуй ... поймай»?

Попробуйте… Catch - это синтаксическая конструкция обработки ошибок, предназначенная для обработки ошибок. Мы все люди, поэтому делаем ошибки и находим ошибки. Но это не значит, что мы не можем справиться с этими ошибками. Иногда наши функции не могут получить данные с сервера из-за ошибок сетевого подключения. Но будет очень плохо, если мы просто позволим этому быть. И вот тут идет Попытка… Уловка, которая позволяет нам «ловить» ошибки, чтобы сценарий мог вместо того, чтобы умереть, сделать что-то более разумное.

try {   
{{{{{{{{{{{{    //it is not a code so it will be an error
} 
catch (err) 
{   
  alert("An error occurred"); 
}

Кодирование Стиль:

Если вы новичок в программировании, мы всегда рады приветствовать вас. Чтобы стать профессиональным программистом, вам нужно обладать некоторыми необходимыми знаниями о том, как писать аккуратно и чисто. Потому что, если вы повторно посетите свой предыдущий код и не сможете понять, что вы делали до этого, будет обидно. Это похоже на искусство программирования. Сделайте ваш код читабельным и понятным для других.

Usage of Curly Braces {} :
if (condition) {    /*space after if and the condition and then
   // do this         first curly brace */ 
   // then this
   // and then this
 }
How to make a readable string :
let string = `A paragraph is a series of related sentence developing
              a central idea, called the topic. Try to think about
              paragraphs.  //Edit the string lines
`;
How to write function with cleanliness :
function pow(x, n) {
   let result = 1;
   //              <--
   for (let i = 0; i < n; i++) {
     result *= x;
   }
   //              <-- 
  return result;
 }

Что такое комментарий? Зачем нам это нужно?

Комментирование - очень хорошая вещь в кодировании. Это позволяет другим понять, что вы реализовали в своем коде или как он работает. Даже этот комментарий может спасти и вас! Предположим, вы создали программу несколько месяцев назад, и вдруг вам нужно было снова проверить эту программу, и вы не можете понять, какая часть вашего кода кому принадлежит. Будет катастрофа. Так что комментирование также может быть полезно для нас в коде. В JavaScript есть два типа комментариев: - однострочный комментарий и многострочный комментарий.

// This code will use for showing Prime Numbers    //Comment
function showPrimes(n) {
   nextPrime:
   for (let i = 2; i < n; i++) {
      // check if i is a prime number
     for (let j = 2; j < i; j++) {
       if (i % j == 0) continue nextPrime;
     }      
alert(i);
   }
 }

Кеширование клиента и кеширование сервера

Кэширование на стороне клиента дублирует данные ранее запрошенных файлов непосредственно в приложениях браузера или других клиентах (например, промежуточных сетевых кэшах). Клиентский кеш - наиболее эффективный тип кэширования, поскольку он позволяет браузерам получать доступ к файлам без связи с веб-сервером. Система контролирует кэширование клиента, изменяя заголовки HTTP ответов на запросы файлов.

Где серверный кеш - это тип кеша, связанный с кешированием сайта, за исключением того, что вместо временного сохранения контента на стороне клиента он хранится на сервере сайта. Кеширование сервера также полностью обрабатывается и регистрируется на сервере без какого-либо участия конечного пользователя или браузера.

Что такое кроссбраузерное тестирование? Зачем нам это нужно?

Кроссбраузерное тестирование - это практика обеспечения совместимости вашего сайта с каждым из браузеров. Кроссбраузерная совместимость важна. Очень важно.

Есть много разных причин, по которым возникают проблемы с кроссбраузерностью. Часто некоторые веб-сайты ведут себя по-разному в разных браузерах / устройствах / предпочтениях при просмотре, что совершенно неприемлемо. Итак, чтобы решить эту проблему, нам нужно сосредоточиться на каждом браузере или, по крайней мере, на тех браузерах, которые довольно широко известны (Chrome, Firefox, Microsoft Edge, Opera и т. Д.). Мы должны исправить каждую возникающую проблему. Самый простой способ совместимости в каждом браузере - сохранить простой макет веб-сайта.

Что такое подъем?

В JavaScript ES6 вы можете использовать 3 типа объявления переменных. Это Var, Let и Const. В других языках есть ограничения на то, что вы должны писать функции перед ее вызовом, но в JavaScript нет ограничений на то, что вам нужно писать функцию перед ее вызовом. Но есть термин «Подъем».

Когда вы используете Var для объявления переменной, но перед инициализацией вы вызвали переменную, тогда она покажет «Не определено», что называется Подъем. Это не происходит с Let и Const из ES6.

x = 1;                      // Initializing x
console.log(x + " " + y);
var y = 2;                  // Declare and Initialize y
Output: '1 undefined'       // Hoisting

Зачем использовать Let вместо Var?

Представленный в ES6 тип переменной let имеет много общего с var, но, в отличие от var, имеет ограничения области действия. let ограничивается той областью, в которой он объявлен. Его объявление и назначение аналогичны var. let был введен для смягчения проблем, связанных с областью переменных, с которыми разработчики сталкиваются во время разработки.

let x, y, z;
let x = 50, y = 20, z = 3;

В чем разница между Let и Const?

const почти то же самое, что let. Однако с той лишь разницей, что после того, как вы присвоили значение переменной с помощью const, вы не сможете переназначить его новому значению.

let x = 10;
console.log(x);   //Output: 10
let x = 20;
console.log(x);   //Output: 20
const y = 10;
console.log(y);   //Output: 10
const y= 20;      //Error
console.log(y);   //Not Working