ES6 变量机制
js中定义变量方式如下三种常见方式
var foo = 1;
let data = 2;
const arr = [];
特殊方式
function aa () {}
import aa from "aa"
class AA {}
变量提升和函数提升
函数提升会被优先提升到最前,但是后面的变量名字和函数名一致的话,赋值会覆盖掉前面的函数
var aa = 1
function aa() {}
aa // 1
var 定义变量的步骤
- 第一阶段,变量到作用域中,申明变量,未赋值,所以是undefined
- 第二阶段,赋值,aa = 1
- 第三阶段,变量回收,标记回收法
块级作用域
foo // undefined
{
let foo = "dd"
}
临时死区
let 和 const 没有变量提升,必须先定义后使用;
否则会报错
不允许重复声明
let a = 1;
{
a = 2
}
let a = 5 // 报错
const 定义时候必须赋值
const变量指向的那个内存地址所保存的数据不得改动;
引用类型指向的对象可以修改
const arr = [];
arr.push(1)
arr.d = 2
arr = {} // error
398 声望
7 粉丝
推荐阅读
数据结构-js实现-队列
{代码...}
张仪ranck阅读 319
在 JavaScript 中如何克隆对象?
微信搜索 【大迁世界】, 我会第一时间和你分享前端行业趋势,学习途径等等。本文 GitHub [链接] 已收录,有一线大厂面试完整考点、资料以及我的系列文章。
前端小智赞 3阅读 1.2k
export default function 和 export function 的区别
{代码...} 第一组是使用 export default 时,对应的 import 语句不需要使用大括号。第二组是不使用 export default 时,对应的 import 语句需要使用大括号。export default命令用于指定模块的默认输出。显然,一...
jigsaw赞 2阅读 6.7k
TypeScript系列:【3】类
基础说明先来看个例子: {代码...} 这样,我们就定义了一个类,包含一个属性用于保存名称,一个构造器用于创建的时候设置名称,方法say用于获取名称描述: {代码...} 打印的结果就是:“你好,我是小强”。公共,私...
zxl20070701赞 1阅读 680
计时器统一管理
计时器统一管理,es6 class写法 {代码...} 调用 {代码...} git链接[链接]
肥皂泡阅读 2k
如何使用Promise.race() 和 Promise.any() ?
微信搜索 【大迁世界】, 我会第一时间和你分享前端行业趋势,学习途径等等。本文 GitHub [链接] 已收录,有一线大厂面试完整考点、资料以及我的系列文章。
前端小智赞 2阅读 426
CSS新规范:样式查询
微信搜索 【大迁世界】, 我会第一时间和你分享前端行业趋势,学习途径等等。本文 GitHub [链接] 已收录,有一线大厂面试完整考点、资料以及我的系列文章。
前端小智赞 1阅读 665
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。