Es6 复阅(1)(部分是非es6的)-- 解构

19 篇文章 0 订阅

1.TDZ :在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporal dead zone,简称 TDZ)。 – 这使得typeof 不再绝对安全,在let 变量之前只用typeof 变量 会报语法错误

块级作用域:ES6 的块级作用域必须有大括号,如果没有大括号,JavaScript 引擎就认为不存在块级作用域。

const : (声明常量的明明规则,全大写,下划线链接两个词 MAX_VALUE

//一个彻底冻结对象的函数
	var constantize = (obj) => {
	  Object.freeze(obj);
	  Object.keys(obj).forEach( (key, i) => {
	    if ( typeof obj[key] === 'object' ) {
	      constantize( obj[key] );
	    }
	  });
	};

获取顶层对象:

	var getGlobal = function () {
	  if (typeof self !== 'undefined') { return self; }
	  if (typeof window !== 'undefined') { return window; }
	  if (typeof global !== 'undefined') { return global; }
	  throw new Error('unable to locate global object');
	};

2.IIFE : 立即执行函数 (immediately-invoked function expression),写法:

	(function(){ ... })()
	(function(){}())

3.csp :内容安全策略(Content Security Policy) 具体的 解释以及策略

4.解构: 解构赋值的规则是,只要等号右边的值不是对象或数组,就先将其转为对象。由于 undefinednull 无法转为对象,所以对它们进行解构赋值,都会报错,且有可能导致解构的歧义时,就

不得使用圆括号

	//变量声明语句
	let [(a)] = [1];
	//函数参数 (也属于声明变量)
	function f([(z)]) { return z; }
	//赋值语句的模式
	({ p: a }) = { p: 42 };

可以使用圆括号的情况

	//赋值语句的非模式部分,可以使用圆括号
	[(b)] = [3]; // 正确
	({ p: (d) } = {}); // 正确
	[(parseInt.prop)] = [3]; // 正确

解构的用途:

	//1 交换两个变量的值,而不再需要中间变量 temp
	let x= 1,y = 2;
	[x,y] = [y,x]	// x 2 y 1
	
	//2 函数返回对个值
	function testFn (){
		return {foo:1,bar:2}
	}
	let {foo,bar} = testFn(); // foo 1 , bar 2
	
	// 3 函数参数对应
	function testFn2({foo,bar}){
		console.log(foo);//1
		console.log(bar);//2
	}
	testFn2({foo:1,bar:2})
	
	// 4.提取对象中的参数值
	let jsonData = {
		foo:3,
		bar:4,
		numberData:5580
	}
	let {foo,bar,numberData:newNum} = jsonData
	// foo 3,bar 4,numberData 5580
	
	// 5.输入模块的指定方法
	onst { SourceMapConsumer, SourceNode } = require("source-map");
	
	...... //还有两种自行自行查阅文档
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值