ES6中的新知识

本文深入探讨了ES6(ECMAScript6.0)的新特性,包括其历史背景、声明方式的扩展,如var、let和const的区别及应用。通过实例讲解了let如何避免全局变量污染,以及const在声明不可变常量时的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ES6 带来的新知识

什么是 ES6

  • ES6, 全称 ECMAScript 6.0 ,是 JaveScript 的下一个版本标准,2015.06 发版

ECMAScript 的背景

  • JavaScript 是大家所了解的语言名称,但是这个语言名称是商标( Oracle 公司注册的商标)
  • JavaScript 的正式名称是 ECMAScript
  • 1996年11月,JaveScript 的创造者网景公司将 JS 提交给国际化标准组织 ECMA , 随后 ECMA 发布了规定浏览器脚本语言的标准,即 ECMAScript

ES6 的出现

  • 2013 年,ES6 草案冻结,不再添加新的功能,新的功能将被放到 ES7 中;2015年6月, ES6 正式通过,成为国际标准

新的声明方式

以前我们在声明时只有一种方法,就是使用var来进行声明,ES6对声明的进行了扩展,现在可以有三种声明方式了

  • var:它是 variable 的简写,可以理解成变量的意思
  • let:它在英文中是“让”的意思,也可以理解为一种声明的意思
  • const:它在英文中也是常量的意思,在 ES6 也是用来声明常量的,常量你可以简单理解为不变的量

var 声明

var a='JSnice';
console.log(a);

我们可以看到 JSnice在控制台已经被打印出来了
我们用匿名函数给他进行一个包裹,然后在匿名函数中调用这个a变量,看看能不能调用到

var a="JSnice";
window.onload= function(){
    console.log(a);
}

可以看到控制台输出了JSnice,这证明var确实是全局的

var a=2;
{
   var a=3;
}
console.log(a);

打印出来的是 3 , 因为 var 是全局变量

let局部声明

通过两个简单的例子,我们对var的全局声明有了一定了解。那跟var向对应的是let,它是局部变量声明。

var a=2;
{
   let a=3;
}
console.log(a);

输出 2
如果我们只在区块里声明,不再外部声明,我们打印a时就会报错,显示找不到变量

用var声明的循环

for(let i=0;i<10;i++){
console.log('循环体中:'+i);
}
console.log('循环体外:'+i);

控制台报错,找不到循环体外的i变量

通过两种声明的比较,可以明白let在防止程序数据污染上还是很有用处的。我们要努力去习惯用let声明,减少var声明去污染全局空间,在vue的使用中也要注意这点。

const声明常量

下面是一段用const声明错误的代码,在错误中学习const的特性也是非常好的。

const a="JSPang";
var a='技术啊';
console.log(a);

产生报错,无法编译
因为我们const声明的变量是不可以改变的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值