• ECMAScript 是当前 JavaScript 语言规范的最新标准,一般称为 es6, 但是因为 该标准规范是在 2015年6月份发布的,所以也叫作 ECMAScript 2015

  • let 变量声明

ES2015 中新增了一种变量声明的方式: let,类似于 var, 通过 let 声明的变量只在 let 命令所在代码块内有效。

块级作用域,块级其实就花括号之间的代码自动形成一个单独的作用域

为什么要有块级作用域?

  1. 内层变量可能会覆盖外层变量
  2. 用来计数的循环变量泄露为全局变量

使用 let 注意事项: 不存在变量提升,变量一定要先声明,后使用,否则报错。 在相同作用域内,不允许重复声明同名变量,否则会报错 。块级作用域 , 外层代码块不受内层代码块的影响 。 外层作用域无法读取内层作用域的变量 。内层作用域可以定义外层作用域的同名变量。

使用场景: 一般在块内部使用 let 变量进行声明。

  • const 变量声明

    const也是用来声明变量,但是声明的是常量。一旦声明,常量的值不可改变。常量的值不可改变,否则报错。const 也是块级作用域,只在声明所在的块级作用域内有效,不建议在 块内使用 const 不存在变量提升 ,不可重复声明。

const使用场景:

所有不希望用户去改变的变量就通过 const 声明为常量 javascript const fs = require('fs'); const os = require('os');

通过 const 声明的常量不可改变的是常量的地址,如果该常量是一个对象,依然是可以被修改的

javascript 'use strict'; const obj = { foo: 'bar' }; console.log(obj.foo); // => bar obj.foo = 'baz'; console.log(obj.foo); // => baz

关于ECMAScript6一些知识的更多相关文章

  1. [译]Understanding ECMAScript6 基本知识

    基本知识 ECMAScript 6在ECMAScript 5之上做了大量的改变.一些改变很大,比如添加新的类型或者语法,而其它的非常小,提供了语言之上的渐进改进.这个章节包含了那些渐进改进,它们可能不 ...

  2. 前端MVC Vue2学习总结(七)——ES6与Module模块化、Vue-cli脚手架搭建、开发、发布项目与综合示例

    使用vue-cli可以规范项目,提高开发效率,但是使用vue-cli时需要一些ECMAScript6的知识,特别是ES6中的模块管理内容,本章先介绍ES6中的基础与模块化的内容再使用vue-cli开发 ...

  3. github上最全的资源教程-前端涉及的所有知识体系

    前面分享了前端入门资源汇总,今天分享下前端所有的知识体系. 个人站长对个人综合素质要求还是比较高的,要想打造多拉斯自媒体网站,不花点心血是很难成功的,学习前端是必不可少的一个环节, 当然你不一定要成为 ...

  4. ECMAScript6词法

    ES6简介 ECMAScript 6.0(简称 ES6)是 JavaScript 语言的下一代标准,它于2015 年 6 月正式发布.ECMAScript 和 JavaScript 的关系是,前者是后 ...

  5. Web前端理论知识记录

      Web前端理论知识记录 Elena· 5 个月前 cookies,sessionStorage和localStorage的区别? sessionStorage用于本地存储一个会话(session) ...

  6. github上最全的资源教程-前端涉及的所有知识体系【转】

    github上最全的资源教程-前端涉及的所有知识体系[转自:蓝猫的博客] 综合类 综合类 地址 前端知识体系 http://www.cnblogs.com/sb19871023/p/3894452.h ...

  7. 你必须知道的EF知识和经验

    注意:以下内容如果没有特别申明,默认使用的EF6.0版本,code first模式. 推荐MiniProfiler插件 工欲善其事,必先利其器. 我们使用EF和在很大程度提高了开发速度,不过随之带来的 ...

  8. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  9. 学点HTTP知识

    不学无术 又一次感觉到不学无术,被人一问Http知识尽然一点也没答上来,丢人丢到家了啊.平时也看许多的技术文章,为什么到了关键时刻就答不上来呢? 确实发现一个问题,光看是没有用的,需要实践.看别人说的 ...

随机推荐

  1. Unity2D屏幕适配方案

    看了cnblogs里的一篇文章,终于理解了Unity2D的摄像机系统:http://www.cnblogs.com/flyFreeZn/p/4073655.html 我根据他的方案,改写了两种适配方案 ...

  2. mit java open course assignment #4

    package come; public class Library { // Add the missing implementation to this class String realLoca ...

  3. VS2015 开发人员命令提示,如何实现记事本编程

    开始,选择VS2015 开发人员命令提示,打开 找到.c文件的位置,复制位置 在VS2015 开发人员命令提示, 输入cd 位置 回车 然后输入cl 文件名 回车 这样进行编译

  4. spoj 8222 Substrings (后缀自动机)

    spoj 8222 Substrings 题意:给一个字符串S,令F(x)表示S的所有长度为x的子串中,出现次数的最大值.求F(1)..F(Length(S)) 解题思路:我们构造S的SAM,那么对于 ...

  5. 第9课_2_dbsoft安装

    三 安装Oracle Database 数据库软件 1.上传数据库安装包到虚拟机上,unzip命令解压database软件,赋予正确的权限和属主,在以oracle身份登录进行图形界面安装 unzip ...

  6. 64位ubuntu编译32位程序

      最近在64位ubuntu上开发,需要编译32位程序,需要安装这两个包,然后在编译器参数加上-m32.不放心的话可以用ldd或file查看一下是否生成了对应位数的程序. $ apt-get inst ...

  7. qrcode各版本/各类型容量支持表

    1.qrcode共有40个版本,支持各种类型数据.个人一般统一转换成8位字节进行算法存储.(汉字 --uff8占用3个字节)

  8. Android 通过HTTPCLINET POST请求互联网数据

    private EditText et; private TextView tv; HttpClient client; @Override protected void onCreate(Bundl ...

  9. Docker容器

    Docker容器 Docker容器 1. 容器基本操作 启动容器: 1.docker run IMAGE [COMMAND] [ARG...]2. 演示: 1.[KANO@kelvin ~]$ doc ...

  10. seajs 学习笔记

    seajs的作者是玉伯,具体好处优点等详见官方网址 介绍 1 模块定义define define(function(require,exports,module){ //require 引入需要的模块 ...