当前位置: 首页 > 编程笔记 >

ES6新特性一: let和const命令详解

元嘉木
2023-03-14
本文向大家介绍ES6新特性一: let和const命令详解,包括了ES6新特性一: let和const命令详解的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了ES6新特性中的let和const命令。分享给大家供大家参考,具体如下:

1. let 命令

① 在js中是没有块级作用域的,var 声明的变量作用域是整个函数体,而let可以起到这一作用

{
  let a = 1;
  var b = 2;
}
console.log(b); // 2
console.log(a); // a is not defind

② 而let可以起到这一作用啊在js中变量和函数的声明会提升到当前作用域最顶部执行。这样就会出现问题。

var a = [];
//函数和变量i会最先进行声明,同时全局变量i经过for循环赋值为10
for (var i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
console.log(i);//10
a[6]();//10

而使用let就解决了这个问题

for (let i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
a[6](); //6

③ let不像var那样,会发生“变量提升”现象

console.log(a); // a is not defined
let a = 1;

④ let不允许在相同块级作用域内,重复声明同一个变量

// 报错
{
  let a = 10;
  var a = 1;
}
// 报错
{
  let a = 10;
  let a = 1;
}

2. const 命令

① const也用来声明变量,但是声明的是常量。一旦声明,常量的值就不能改变。
② 与let相同也不能在相同块级作用域内重复声明同一个变量。
③ const的作用域与let命令相同:只在声明所在的块级作用域内有效。

const PI = 3.1415;
console.log(PI); // 3.1415
//PI = 3; // Assignment to constant variable.(不能给常量赋值)
//const PI = 3.1;// Identifier 'PI' has already been declared

希望本文所述对大家ECMAScript程序设计有所帮助。

 类似资料:
  • 本文向大家介绍ES6中let 和 const 的新特性,包括了ES6中let 和 const 的新特性的使用技巧和注意事项,需要的朋友参考一下 在javascript中,我们都知道使用var来声明变量。javascript是函数级作用域,函数内可以访问函数外的变量,函数外不能访问函数内的变量。本文给大家介绍ES6中let 和 const 的特性,具体内容如下所示: let的特性: 1.不存在变量提

  • let命令 基本用法 ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。 { let a = 10; var b = 1; } a // ReferenceError: a is not defined. b // 1 上面代码在代码块之中,分别用let和var声明了两个变量。然后在代码块之外调用这两个变量,结果let声明的

  • 本文向大家介绍深入浅出ES6之let和const命令,包括了深入浅出ES6之let和const命令的使用技巧和注意事项,需要的朋友参考一下 let和const声明的变量只在代码块内有效 不存在变量提升 变量一定要在声明后使用,否则报错 不允许重复声明 块级作用域 const命令 声明一个只读的常量,一旦声明,常量的值就不能改变 一旦声明变量,就必须立即初始化,不能留到以后赋值 let命令、cons

  • 本文向大家介绍浅谈ECMAScript6新特性之let、const,包括了浅谈ECMAScript6新特性之let、const的使用技巧和注意事项,需要的朋友参考一下 第一次写博客有点紧张,如果说的不对的地方,欢迎大家留言指正。咱们先来说说“ECMAScript”这到底是啥玩意儿?它和javascript的关系又是如何的?首先,在1996年11月的时候,javascript的创造者(网景公司Net

  • 问题内容: 我不知道是什么样的区别,并在 ES6 。两者都是块作用域的,如以下代码中的示例所示: 在ES5中,输出为: 但是在ES6中它将是: 我想知道为什么 ES6 允许更改值,问题是为什么我们现在应该使用’const’?我们可以用“ let”代替吗? 注意 :jsbin可以用于测试,选择 JavaScript 运行 ES5 代码,并选择 Traceur 使用 ES6 功能运行它。 问题答案:

  • 本文向大家介绍JS变量中有var定义和无var定义的区别以及es6中let命令和const命令,包括了JS变量中有var定义和无var定义的区别以及es6中let命令和const命令的使用技巧和注意事项,需要的朋友参考一下  之前我们在写js代码的时候都知道可以用var定义全局变量和局部变量,也可以省略var,而且在非严格模式下不会报错,但是并不知道两者的区别... 简单测试下可以知道定义的x和y