разница быть другим

Var ограничен функцией

// variable a cannot be used here
function helloWorld() {
    // variable a can be used here
    var a = 'hello';
    console.log(a);
}
helloWorld(); // hello

Переменная «a» объявляется с помощью «var». Переменная «a» может использоваться только внутри функции helloWorld.

Пусть это блочная область

function helloWorld() {
    let a = 'hello';
    // variable b cannot be used here
    if(a == 'hello'){
        // variable b can be used here
        let b = 'world';
        console.log(a + ' ' + b);
    }
     // variable b cannot be used here
    console.log(a + " " + b); // error
}
// variable a cannot be used here
helloWorld();
Output
======
hello world
/tmp/pLCnzCjIMc.js:13
    console.log(a + " " + b); // error
                          ^
ReferenceError: b is not defined
    at helloWorld (/tmp/pLCnzCjIMc.js:13:27)
    at Object.<anonymous> (/tmp/pLCnzCjIMc.js:17:1)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)

При использовании ключевого слова Let область действия находится только внутри этого блока. Если на него ссылаются извне, он сломается, как показано выше. let широко используется в javascript. И let, и var используются только для объявлений переменных.

Знание маленьких вещей помогает нам достичь чего-то большого :)