首页 > 其他 > 详细

let,const及解构赋值

时间:2020-05-08 10:04:30      阅读:51      评论:0      收藏:0      [点我收藏+]

Ecmascript-6
ES6 发布时间2015-6月,又称ECMAScript 2015

http://kangax.github.io/compat-table/es6/

作用域

let const

let 块级作用域

  • 在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死 区”(temporal dead zone,简称TDZ)
  • 不允许重复声明
  • let声明的变量不属于window的属性
	console.info(c); let c;
	
	typeof c; let c;
	
	var tmp =123; if(true) { tmp = 456; let tmp; }
	
	var flag = true;
	if(flag) {
		let flag;
	}
	

为什么引入块级作用域

  • 内层变量覆盖外层变量
  • 内层变量泄漏到全局变量

const 常量

  • 常量值必须初始化声明
  • 一旦声明,常量的值就不会改变
  • 与let一致,存在暂时性死 区

跨模块常量

a.js

	export const A = 1;
	export constt B = 2;

b.js

	improt * as Constants from ‘./a‘
	console.info(Constants.A); //1

c.js

	import {A, B} from ‘./a‘
	console.info(A);

解构赋值

数组解构赋值

语法

var [v1,v2...vn] = array
let [v1,v2...vn] = array
const  [v1,v2...vn] = array
var [a,b,c,d] = [1,2,3,4];
console.info(a);

对象解构赋值

语法

var {v1, v2,...vn } = { vn....v2..v1}

字符串解构赋值

语法

const [a,bc,c] = ‘hello-string‘;
console.info(a,b,c);

用途

  • 变换变量的值 [x, y] = [y, x]
  • 从函数返回多个值 return [1,2,3] return {foo:1, bar:2}
  • 函数入参默认值
  • 迭代map很方便 for( let [key,value] of map)
  • 模块加载-》 const { sourcemap } = require("source-map");

let,const及解构赋值

原文:https://www.cnblogs.com/pengsn/p/12848330.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!