ES6-3 let进阶、const、全部变量与顶层对象
一 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、全部变量与顶层对象相关推荐
- ES6/06/ES6简介,ES6新增语法,let声明变量,const声明常量,var,let和const总结,数组解构,对象解构,箭头函数,剩余参数
ES6简介 ES全称:ECMAScript ; 由ECMA国际化组织制定的标准脚本语言的标准化规范: 为什么使用ES6? 每一次标准的诞生都意味着语言的完善,功能的加强,JavaScript语言本身也 ...
- ES6中使用let, const声明的变量, 在window对象下是获取不到的
ES6中使用let, const声明的变量, 在window对象下是获取不到的 今天在写demo的时候发现, 使用let或者const声明的变量, 在window对象下使用this来获取发现获取不到 ...
- 【ES6】let、const变量提升的验证,以及TDZ死区的理解
前段时间在网上自学ES6,了解到ES6新增的let和const是存在变量提升的,但是由于TDZ(暂时性死区)的存在,在定义前访问会出现错误. 今天在腾讯课堂听老师讲ES6,多次强调let和const没 ...
- 【ES6】 let与const详解
[ES6] let与const详解 ES6,全称为ECMAScript6.ES6与js的关系是:前者是后者的规格,后者是前者的实现.换句话说,ES是js的国际化版本,js是ES的子集. 1. let ...
- ES6之let和const
进入前端领域工作将近两年,看过学习过很多大牛的文档和视频,2018年也打算对学过的知识点给出一个小结式的输出,从ES6开始吧. ES6新增 let 命令,用途是用来声明变量.一个新的事物被提出,总是有 ...
- 【面试题】【ES6】let和const命令 (面试必看)
给大家推荐一个实用面试题库 1.前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 1.let命令 基本用法 用法类似于var,但是所声明的变量,只在let命令所在 ...
- [OHIF-Viewers]医疗数字阅片-医学影像-es6解构赋值-const{}=-let{}=
[OHIF-Viewers]医疗数字阅片-医学影像-es6解构赋值-const{}=-let{}= 解构赋值语法是一种 Javascript 表达式.通过解构赋值, 可以将属性/值从对象/数组中取出, ...
- es6(let与const命令)
es6(let与const命令) 理论区别 var let const 在函数作用域内或者全局有效,没有块级作用域 只在let命令所在的代码块内有效 只在声明所在的块级作用域内有效 能重复声明 不能重 ...
- 使用var、let、const声明变量
一.使用var声明变量 1.使用方法 通过var关键字可以一次声明一个变量或者多个变量,同时可以为声明的变量赋初始值.但是变量的声明和初始值并不是在同一时间执行的,在执行初始值之前这些声明的变量的值为 ...
最新文章
- 总结 | 相机标定的基本原理与改进方法
- RISC-V有何特别之处?
- java责任链模式的三种方式,分享一点面试小经验
- FLEXAIR 界面展示。
- LeetCode 1255. 得分最高的单词集合(回溯)
- 开发简化版NgFor
- Windows 10安装TensorFlow-gpu1.4 及CUDA8.0,cuDNN6.0,搞定了,包含安装方法和下载路径
- 如何建设一个开源图形引擎的文档网站
- 巧用 selenium 解决验证码,模拟登陆某流行网站
- Android系统 固定住CPU频率
- canvas制作呼吸灯
- 复盘:企业微信中国发展简史
- sql with ties_SQL WITH TIES子句
- mysql学习记录_秦路天善智能Mysql学习笔记
- programming paradigm
- 苹果13系统锁屏延迟_iPhone锁屏慢有延迟怎么办 苹果手机锁屏不灵敏解决方法
- Go语言debug调试
- TypeError: Failed to execute ‘setItem‘ on ‘Storage‘: 2 arguments requir
- 利用python下载哨兵1号轨道数据
- 很漂亮的css英文字体