- 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.
- 玩轉(zhuǎn)Scratch少兒趣味編程
- Design Principles for Process:driven Architectures Using Oracle BPM and SOA Suite 12c
- Instant Typeahead.js
- C語言程序設(shè)計案例式教程
- Flutter跨平臺開發(fā)入門與實戰(zhàn)
- JavaScript+jQuery網(wǎng)頁特效設(shè)計任務(wù)驅(qū)動教程
- Python 3 Object:oriented Programming(Second Edition)
- Get Your Hands Dirty on Clean Architecture
- iOS Development with Xamarin Cookbook
- 從零開始學(xué)Unity游戲開發(fā):場景+角色+腳本+交互+體驗+效果+發(fā)布
- Mastering JavaScript Promises
- C語言程序設(shè)計
- Learning Google Apps Script
- Oracle API Management 12c Implementation
- Hadoop MapReduce v2 Cookbook(Second Edition)