Maison  >  Article  >  interface Web  >  Explication JavaScript-ES6

Explication JavaScript-ES6

巴扎黑
巴扎黑original
2017-07-22 15:24:081164parcourir

Section 1 let

// ES6 — let

let a = 1;

if (1 === a) {
let b = 2 ;
}

pour (soit c = 0; c < 3; c++) {
// …
}

fonction permetDeclareAnotherOne() {
let d = 4;
>

console.log(a); // 1
console.log(b); // ReferenceError : b n'est pas défini
console.log ( c); // ReferenceError : c n'est pas défini
console.log(d); // ReferenceError : d n'est pas défini

// window
console.log(window.a) ; // 1
console.log(window.b); // non défini
console.log(window.c); // non défini
console.log(window.d); >Comme nous pouvons le voir, cette fois, seule la variable a est déclarée comme globale. Nous pouvons donc déclarer des variables de portée bloc, qui ne sont pas définies en dehors d'elle.

//todo
Le les utilisations de let et const sont similaires à celles de var, les deux sont utilisées pour déclarer des variables, mais dans les applications pratiques, elles ont leurs propres utilisations spéciales.

demo1

var name = 'shitu91'

if(true) {

var name = 'shituketang'
console.log(name) //shituketang
>

console.log(name) //shituketang

Utilisez var. Les deux sorties sont shituketang. Les variables internes que vous voyez couvrent maintenant les variables externes. C'est parce que ES5 n'a qu'une portée globale (. scope) et la portée de la fonction, il n’y a pas de portée au niveau du bloc.

Et ajoutons en fait une nouvelle portée au niveau du bloc à JavaScript. Les variables déclarées avec lui ne sont valides que dans le bloc de code où se trouve la commande let.

let name = 'shitu91'

if (true) {
let name = 'shituketang'
console.log(name) //shituketang
}

console.log(name) //shitu91

demo2 variable de boucle comptée divulguée en tant que variable globale
var a = [];
for (var i = 0; i < 10 ; i++) {
a[i] = function () {
console.log(i);
};
}
a6; // 10
Dans le code ci-dessus , la variable i est déclarée par var et est valide dans la portée globale. Ainsi, à chaque boucle, la nouvelle valeur i écrasera l'ancienne valeur, ce qui fera que la sortie finale sera la valeur de i lors du dernier tour.
Ce problème ne se produira pas lors de l'utilisation de let.

var a = [];

pour (soit i = 0; i < 10; i++) {
a[i] = function () {
console.log(i );
};
}
a6; // 6
demo3
var clickBoxs = document.querySelectorAll('.clickBox')
for (var i = 0; i < ; clickBoxs.length; i++){
clickBoxs[i].onclick = function(){
console.log(i)
}

Nous aurions aimé Le but est de cliquer sur différentes clickBox et d'afficher différents i, mais le fait est que peu importe sur quelle clickBox nous cliquons, la sortie est 5. Voyons comment utiliser les fermetures pour le faire.

function iteratorFactory(i){
var onclick = function(e){
console.log(i)
>
return onclick;
>
var clickBoxs = document .querySelectorAll('.clickBox')
for (var i = 0; i < clickBoxs.length; i++){
clickBoxs[i].onclick = iteratorFactory(i)
>
const Également utilisé pour déclarer des variables, mais les constantes sont déclarées. Une fois déclarée, la valeur d'une constante ne peut plus être modifiée.
const PI = Math.PI

PI = 23 //Échec de la construction du module : SyntaxError : /es6/app.js : "PI" est en lecture seule

Lorsque nous essayons de modifier la const Lors de la déclaration de constantes, le navigateur signalera une erreur. Const a un bon scénario d'application, c'est-à-dire des variables déclarées lorsque nous faisons référence à des bibliothèques tierces. Utiliser const pour déclarer peut éviter les bugs causés par un renommage accidentel à l'avenir : +

const monent = require( 'moment. ')

// todo

Les variables déclarées avec le mot clé let n'ont pas la fonction de levage de variable

let et const sont déclarées uniquement dans le bloc le plus proche (entre accolades) Valide
Quand en utilisant la déclaration constante const, veuillez utiliser des variables majuscules, telles que : CAPITAL_CASING
const doit être attribué lors de la déclaration
Let :

Nouveaux mots-clés ajoutés par ES6 qui nous permettent de changer la façon dont nous travaillons avec les variables . JavaScript :

var name = 'Max';

console.log(name;

let new_name = 'Max';

console.log (new_name);
Console :

"Max"

"Max"
Ici, nous voyons que let et var font la même chose. Alors, quelle est la différence ?

Utiliser let nous permet de portée de la variable de contrôle. JavaScript :

if(true) {

let age = 24; // dans la portée de l'instruction 'if'
>
console .log(age); // n'est pas dans la portée de l'instruction 'if'
Console :

"error"

"Erreur de référence : l'âge n'est pas défini
Comme autre exemple, lors de l'utilisation de variables dans une boucle for , l'index ne sera plus utilisé en dehors de la boucle !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn