一 const

1. 定义常量

1.1 引入模块时

const test = require('http')

1.2 定义时必须赋值(初始化)且不可修改

const a;
// Uncaught SyntaxError: Missing initializer in const declaration
  • 若赋值为原始值,不可修改
  • 若赋值为引用值,对于的地址不可修改,但指向空间的内容是可变的
const a = {};
a.num = 10;
// 转义后
"use strict";var a = {};
a.num = 10;

Object.freeze(obj) 可以让obj对象/数组冻结,不被修改

const obj = {}
function myFreeze(obj) {if (obj && typeof obj === 'object') {// 要排除nullObject.freeze(obj)for (let k in obj) {myFreeze(obj[k])}}
}
myFreeze(obj)
obj.n1 = 10;
obj.n2 = {test: 1
};
obj.n2 = {test: 2
};
console.log(obj) // {}
const http = require('http')
// 从源头解决:require返回的是实例化的对象,无论怎么修改http,都不影响构造器

1.3 暂时性死区

1.4 有块级作用域

1.5 不能提升

1.6 不能重复声明

二 顶层对象window

  • 不用关键字声明的变量将挂载到window上
  • 用let/const声明的变量,不属于顶层变量,解决了以上es5不合理的现象

ES6-3 let进阶、const、全部变量与顶层对象相关推荐

  1. ES6/06/ES6简介,ES6新增语法,let声明变量,const声明常量,var,let和const总结,数组解构,对象解构,箭头函数,剩余参数

    ES6简介 ES全称:ECMAScript ; 由ECMA国际化组织制定的标准脚本语言的标准化规范: 为什么使用ES6? 每一次标准的诞生都意味着语言的完善,功能的加强,JavaScript语言本身也 ...

  2. ES6中使用let, const声明的变量, 在window对象下是获取不到的

    ES6中使用let, const声明的变量, 在window对象下是获取不到的 今天在写demo的时候发现, 使用let或者const声明的变量, 在window对象下使用this来获取发现获取不到 ...

  3. 【ES6】let、const变量提升的验证,以及TDZ死区的理解

    前段时间在网上自学ES6,了解到ES6新增的let和const是存在变量提升的,但是由于TDZ(暂时性死区)的存在,在定义前访问会出现错误. 今天在腾讯课堂听老师讲ES6,多次强调let和const没 ...

  4. 【ES6】 let与const详解

    [ES6] let与const详解 ES6,全称为ECMAScript6.ES6与js的关系是:前者是后者的规格,后者是前者的实现.换句话说,ES是js的国际化版本,js是ES的子集. 1. let ...

  5. ES6之let和const

    进入前端领域工作将近两年,看过学习过很多大牛的文档和视频,2018年也打算对学过的知识点给出一个小结式的输出,从ES6开始吧. ES6新增 let 命令,用途是用来声明变量.一个新的事物被提出,总是有 ...

  6. 【面试题】【ES6】let和const命令 (面试必看)

    给大家推荐一个实用面试题库 1.前端面试题库 (面试必备)            推荐:★★★★★ 地址:前端面试题库 1.let命令 基本用法 用法类似于var,但是所声明的变量,只在let命令所在 ...

  7. [OHIF-Viewers]医疗数字阅片-医学影像-es6解构赋值-const{}=-let{}=

    [OHIF-Viewers]医疗数字阅片-医学影像-es6解构赋值-const{}=-let{}= 解构赋值语法是一种 Javascript 表达式.通过解构赋值, 可以将属性/值从对象/数组中取出, ...

  8. es6(let与const命令)

    es6(let与const命令) 理论区别 var let const 在函数作用域内或者全局有效,没有块级作用域 只在let命令所在的代码块内有效 只在声明所在的块级作用域内有效 能重复声明 不能重 ...

  9. 使用var、let、const声明变量

    一.使用var声明变量 1.使用方法 通过var关键字可以一次声明一个变量或者多个变量,同时可以为声明的变量赋初始值.但是变量的声明和初始值并不是在同一时间执行的,在执行初始值之前这些声明的变量的值为 ...

最新文章

  1. 总结 | 相机标定的基本原理与改进方法
  2. RISC-V有何特别之处?
  3. java责任链模式的三种方式,分享一点面试小经验
  4. FLEXAIR 界面展示。
  5. LeetCode 1255. 得分最高的单词集合(回溯)
  6. 开发简化版NgFor
  7. Windows 10安装TensorFlow-gpu1.4 及CUDA8.0,cuDNN6.0,搞定了,包含安装方法和下载路径
  8. 如何建设一个开源图形引擎的文档网站
  9. 巧用 selenium 解决验证码,模拟登陆某流行网站
  10. Android系统 固定住CPU频率
  11. canvas制作呼吸灯
  12. 复盘:企业微信中国发展简史
  13. sql with ties_SQL WITH TIES子句
  14. mysql学习记录_秦路天善智能Mysql学习笔记
  15. programming paradigm
  16. 苹果13系统锁屏延迟_iPhone锁屏慢有延迟怎么办 苹果手机锁屏不灵敏解决方法
  17. Go语言debug调试
  18. TypeError: Failed to execute ‘setItem‘ on ‘Storage‘: 2 arguments requir
  19. 利用python下载哨兵1号轨道数据
  20. 很漂亮的css英文字体

热门文章

  1. bat窗口大小设置_8-Flink中的窗口
  2. html php滚动代码,html中滚动条的代码是什么?如何设置html滚动条?
  3. GPU Gems2 - 10 动态辐照度环境映射实时计算
  4. 单机简单搭建一个kafka集群(没有进行内核参数和JVM的调优)
  5. FOI冬令营 Day 3
  6. 第三课《让简历有点色彩》
  7. 王之泰201771010131《面向对象程序设计(java)》第九周学习总结
  8. 数组初始化 和 vector初始化
  9. 如何在PowerDesigner将PDM导出生成WORD文档或者html文件
  10. Android 图文混排 通过webview实现并实现点击图片