- JavaScript by Example
- Dani Akash S
- 496字
- 2021-07-02 18:39:07
let, var, and const
Next, we have the let keyword. ES6 has two new keywords for declaring variables, let and const. let and var differ by the scope of the variables declared using them. The scope of variables declared using var is within the function it is defined and global if it is not defined inside any function, while the scope of let is restricted to within the enclosing block it was declared in and global if it is not defined inside any enclosing block. Look at the following code:
var toDo;
window.addEventListener("load", () => {
var toDo = new ToDoClass();
});
If you were to accidentally re-declare toDo somewhere along the code, as follows, your class object gets overwritten:
var toDo = "some value";
This behavior is confusing and quite difficult to maintain variables for large applications. Hence, let was introduced in ES6. It restricts the scope of variables only within the enclosing in which it was declared. In ES6, it is encouraged to use let instead of var for declaring variables. Look at the following code:
let toDo;
window.addEventListener("load", () => {
toDo = new ToDoClass();
});
Now, even if you accidentally re-declare toDo somewhere else in the code, JavaScript will throw an error, saving you from a runtime exception. An enclosing block is a block of code between two curly braces {} and the curly braces may or may not belong to a function.
We need a toDo variable to be accessible throughout the application. So, we declare toDo above the event listener and assign it to the class object inside the callback function. This way, the toDo variable will be accessible throughout the page.
Let's take a look at the other keyword const. The working of const is the same as that of let, except that variables declared using const cannot be changed (reassigned). Hence, const is used for constants. However, an entire constant cannot be reassigned but their properties can be changed. For example:
const a = 5;
a = 7; // this will not work
const b = {
a: 1,
b: 2
};
b = { a: 2, b: 2 }; // this will not work
b.a = 2; // this will work since only a property of b is changed
The toDo object contains the class variables and functions as properties and methods of the object. If you need a clear picture of how the object is structured in JavaScript, see: https://www.w3schools.com/js/js_objects.asp.
- FuelPHP Application Development Blueprints
- Vue.js設計與實現(xiàn)
- 微服務與事件驅(qū)動架構(gòu)
- Building a Recommendation Engine with Scala
- Visual C++數(shù)字圖像處理技術詳解
- 小學生C++創(chuàng)意編程(視頻教學版)
- 數(shù)據(jù)結(jié)構(gòu)與算法分析(C++語言版)
- WordPress 4.0 Site Blueprints(Second Edition)
- Java程序設計案例教程
- R數(shù)據(jù)科學實戰(zhàn):工具詳解與案例分析
- 軟件測試綜合技術
- Delphi開發(fā)典型模塊大全(修訂版)
- PHP 8從入門到精通(視頻教學版)
- Getting Started with Electronic Projects
- 算法秘籍