Методы записи переменных и функций ES6 простое объяснение

Блочные привязки

Объявление переменной — важный метод в языке javascript. При объявлении переменной наиболее важно, какой тип переменной вы хотите объявить и где вы хотите ее объявить. ES6 предоставляет новый способ объявления переменных, чтобы вам было проще управлять областью видимости переменных.

Объявления Var и поднятие

Когда переменная поднимается вверху функции, ее можно применять. Кроме того, его можно рассматривать как глобальную область видимости, если он объявлен вне функции.

Пример

function getCity(condition) {
    var value;
    if (condition) {
        value = "Sylhet";
        return value;
    } else {
       // value doesn’t exist here
       return null;
    }
     // value doesn’t exist here
}

Мы видим, что переменная объявлена ​​в начале функции. Для этого значение в переменной может быть доступом из условия else, но доступ является неопределенным значением, потому что его значение не инициализируется в блоке в else, оно инициализируется только в предложении If.

Объявления блочного уровня

Объявления на уровне блока означают, что объявленная переменная недоступна за пределами области блока. Создаются области блока:

  1. Внутри функции
  2. Внутри блока (обозначается символами { и })

Пусть декларации

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

function getCity(condition) {
    
    if (condition) {
        let value = "Sylhet"; 
        return value;
    } else {
       // value doesn’t exist here
       return null;
    }
     // value doesn’t exist here
}

Константные объявления

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

const maxItems = 5;
maxItems = 6; // throws error

Здесь он выдает ошибки, потому что const не может быть изменен.

Связывание блоков в циклах:

В JavaScript чаще всего разработчики хотят, чтобы область видимости переменных на уровне блоков находилась внутри циклов for. Для этого мы должны использовать let, а не var, потому что var поднимается. Следуйте двум приведенным ниже примерам:

for (var i=0; i < 10; i++) {
    process(items[i]);
}
// i is still accessible here
console.log(i);                     // 10

Здесь, вне цикла, я доступен, потому что мы используем var

for (let i=0; i < 10; i++) {
    process(items[i]);
}
// i is not accessible here - throws an error
console.log(i);

Здесь, вне цикла, i недоступен, потому что мы используем let. Таким образом, это выдаст ошибку.

Глобальные привязки блоков

Мы знаем, что let и const отличаются от var. Когда var используется в глобальной области видимости, к глобальному объекту (окну в браузерах) добавляется новое свойство. Это означает, что вы можете перезаписать существующую глобальную переменную, например:

// in a browser
var greeting = ‘Hello, Bangladesh’;
console.log(window.greeting); // Hello, Bangladeshvar person = ‘Hello there’;
console.log(window.person); // Hello there

Если вы используете let или const в глобальной области, в глобальной области создается новая привязка, но к глобальному объекту не добавляется никаких свойств. Итак, здесь вы также не можете перезаписать глобальную переменную с помощью let или const. Пример:

// in a browser
var greeting = ‘Hello, Bangladesh’;
console.log(window.greeting === greeting); // falsevar person = ‘Hello there’;
console.log(window.person); // Hello there
console.log(person in window); // false

Параметры функции по умолчанию

В ES5 и более ранних версиях мы должны формально устанавливать значения всех параметров функций. Если мы каким-то образом забываем установить какое-либо значение параметра, функция тут же останавливается и показывает ошибку. Эта проблема решена в версии ES6. Здесь мы можем установить значение по умолчанию в параметре. В этом случае, если мы не устанавливаем значение этого параметра, функция выполняет значение по умолчанию в качестве своего параметра. Пример-

function add(x, y = 5) {
 //here, 0 is default parameter value
 return x+ y;
}
console.log(add(10, 7)); // 17
console.log(add(20)); // 25

Работа с безымянными параметрами

В более ранней версии JavaScript не было возможности использовать безымянный параметр в функции, но ES6 вводит параметр rest, чтобы упростить работу с безымянными параметрами.
Параметр rest допускает любое количество аргументов в виде массива.

function add(…args) {
 // args is the name for the array
 return args.reduce((accumulator, current) => accumulator + current, 0);
}console.log(add(3)); // 3
console.log(add(3, 3)); // 6
console.log(add(5, 2, 3)); // 10

Функции блочного уровня

ES6 позволяет использовать функции блочного уровня, которые поднимаются поверх функции или поднимаются в глобальную область. Например:

if (true) {
 console.log(typeof doWork); // “function”function doWork() {
 // some code
 }doWork();
}console.log(typeof doWork); // function

Оператор спреда

Оператор расширения позволяет расширить выражение в местах, где ожидается несколько аргументов (для вызовов функций) или несколько элементов (для литералов массива).

Вот некоторые примеры кода:

//In function
function myFunction(x, y, z) { }
let args = [0, 1, 2];
myFunction(...args);//In array
let parts = ['shoulders', 'knees']; 
let lyrics = ['head', ...parts, 'and', 'toes']; 
//  ["head", "shoulders", "knees", "and", "toes"]

Стрелочные функции

В ES6 мы можем написать функцию в виде сортировщика, который называется стрелочной функцией. Кроме того, его легче читать и писать, чем обычный вызов функций. Например:

//have no parameter
const give5 = () => 5;//have single parameter
const doubleIt = num => num * 2;// have multiple parameter
const add = (x, y) => x + y;
console.log(add(20, 10)); // 30

Их должен знать каждый разработчик JavaScript, потому что вы всегда будете сталкиваться с ситуациями, когда вам нужно будет их использовать.

Спасибо, что прочитали эту статью. Я надеюсь, что вы сочли полезным.