JavaScript

JavaScript (JS) — это динамический язык программирования, который может работать как на стороне клиента, так и на стороне сервера. В основном JavaScript используется при разработке веб-приложений в качестве языка сценариев, который делает веб-страницы интерактивными. Это объектно-ориентированный язык программирования. JavaScript — это однопоточный язык.

Синтаксис JavaScript основан на языках c и java. Некоторые структуры из этих языков поддерживаются JavaScript. Он поддерживает объектно-ориентированное программирование и функциональное программирование. Давайте кратко проанализируем строительные блоки JavaScript.

Использование JavaScript

  • Добавление интерактивного поведения на веб-страницы
  • разработка веб и мобильных приложений
  • разработка веб-сервера
  • Разработка игр

Типы данных, поддерживаемые в JavaScript

  • Число
  • Нить
  • логический
  • Неопределенный
  • Нулевой
  • Объект
  • Символ

Переменные — это идентификаторы, которые могут содержать значения данных любого типа. Поскольку JS — язык с динамической типизацией, типы данных переменных определяются во время выполнения. Ключевые слова «var», «let», «const» используются для определения переменных. Поскольку JS чувствителен к регистру, name и Name — это две разные переменные.

var name = "myName"
let name1 = "myName"
const name2 = "myName"

Классы

Поскольку многие другие языки программирования поддерживают объектно-ориентированное программирование (ООП), JavaScript также поддерживает ООП. Основные концепции ООП (объекты, классы, инкапсуляция, полиморфизм) могут быть реализованы в JavaScript. Класс — это план сущности, которая существует независимо. Классы могут иметь свои свойства и функции-члены. Каждый класс может создавать один или несколько объектов со своими свойствами, но функции-члены являются общими для всех объектов. Классы могут быть созданы тремя основными способами в JS.

  • Использование функции
  • Использование литерала объекта
  • Использование ключевого слова класса

1. Использование функции

Создание объекта выполняется с помощью нового ключевого слова перед определенной функцией. Свойства и функции-члены назначаются в основном двумя способами.

  • Используя это ключевое слово
function Apple (type) {
this.type = type;
this.color = "red";
this.getInfo = getAppleInfo;
}
function getAppleInfo() {
return this.color + ' ' + this.type + ' apple';
}
  • Методы, добавленные в прототип
function Apple (type) {
this.type = type;
this.color = "red";
}
Apple.prototype.getInfo = function() {
return this.color + ' ' + this.type + ' apple';
};

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

2. Использование литералов объектов

Создание объекта выполняется с использованием нотации Object.create(apple). Свойства и функции-члены назначаются как пары ключ-значение.

var apple = {
type: "macintosh",
color: "red",
getInfo: function () {
return this.color + ' ' + this.type + ' apple';
 }
}

3. Использование ключевого слова класса

Класс ключевого слова используется для создания класса. Конструктор используется для инициализации свойств. Свойства и функции-члены добавляются в тело класса.

class Car {
constructor (name, year) {
this.name = name;
this.year = year;
  }
}
let myCar1 = new Car("Ford", 2014);

Конструктор

Конструктор — это функция особого типа с именем Constructor(), которую могут иметь все классы. Который вызывается сразу при создании объекта класса. Он обычно используется для инициализации значений свойств. Каждый класс может иметь только один конструктор в JS. Конструктор родительского класса можно вызвать с помощью ключевого слова super().

Это ключевое слово

Это ключевое слово ведет себя иначе в JS. Он имеет различное поведение между строгим режимом и нестрогим режимом. Обычно значение this определяется тем, как вызывается функция. Его нельзя установить путем присваивания во время выполнения, и он может быть другим при каждом вызове функции.

Статический метод и свойство

Статические методы и свойства — это особый вид членов класса, не являющийся специфичным для каких-либо объектов и являющийся общим для всех объектов. Доступ к статическим методам и свойствам можно получить без создания объекта. Доступ к ним можно получить через имя класса.

class Car {
constructor(name) {
this.name = name;
  }
static hello() {
return "Hello!!";
  }
}
Console.log(Car.hello);

Строгая запись

В JavaScript использовать строгий режим означает, что код должен выполняться в строгом режиме. Это упрощает написание хорошего и безопасного JS-кода. Переменная не объявлена ​​ниже, но ошибка не будет выдана.

myVariable = 9;

код, написанный ниже, выдаст ошибку, потому что переменная не объявлена, а код выполняется в строгом режиме. Следовательно, он выдаст ошибку.

'use strict';
myVariable = 9; // Error

Закрытие

Переменные JS могут быть глобальными или локальными. Замыкание помогает превратить глобальные переменные в локальные переменные. Такая функция возвращает другую функцию. Инкапсуляция может быть достигнута за счет закрытия. Замыкание инкапсулирует переменные в функцию и ограничивает доступ к ней извне.

// Define the closure
function multF() {
var mult = 9;
return function(val) {
mult = mult * val;
return mult;
 }
}
var val = multF();
console.log(val(18));

Обратный звонок

Обратный вызов JavaScript — это функция, которая передается другой функции и выполняется этой функцией. Обратные вызовы гарантируют, что функция, переданная как обратный вызов, не запустится до завершения другой задачи. Это помогает разрабатывать асинхронные коды JavaScript и избегать ошибок.

function Displayer(sometext) {
console.log(sometext)
}
function Calculator(num1, num2, Callback) {
let sum = num1 + num2;
Callback(sum);
}
Calculator(54, 53, Displayer);

В приведенном выше примере функция отображения передается как функция обратного вызова. И функция обратного вызова вызывается функцией калькулятора после завершения своей задачи. Не используйте круглые скобки при передаче функции в качестве аргумента.

Обещания

Обещание — это асинхронная задача, которая используется в задаче, которой требуется время для завершения ее выполнения и возврата. При использовании обещания в коде он вернет объект обещания вместо немедленного возврата значения. Объект Promise поддерживает два свойства: state и result.

let My_Promise = new Promise(function(Resolve, Reject) {
Resolve();
Reject();
});
My_Promise.then(val=>{
//success code
}
).catch((er)=>{
//failure code
};

Заключение

Я подробно рассмотрел основы JavaScript здесь. Я начал с краткого введения в Основы Js, которые включают в себя конструктор, объект и классы, вызов и обещание.

Большое спасибо, что нашли время, чтобы прочитать мой блог. Надеюсь, это поможет вам лучше понять JavaScript.

если у вас есть какие-либо вопросы или рекомендации. Пожалуйста, прокомментируйте.