你应该知道的ES6

ES和js的关系:

 Javascript 包含三部分:ECMAScript(核心), Dom(文档对象模型), Bom(浏览器对象模型)。

  ES作为核心,它规定了语言的组成部分:语法、类型、语句、关键字、保留字、操作符、对象;

  DOM把整个页面映射为一个多层节点的结果,开发人员可借助DOM提供的API,轻松地删除、添加、替换或修改任何节点。

  BOM支持可以访问和操作浏览器窗口的浏览器对象模型,开发人员可以控制浏览器显示的页面以外的部分。

let & const:

  使用let声明的变量可以重新赋值,但是不能在同一作用域内重新声明

  使用const声明的变量必须赋值初始化,但是不能在同一作用域内重新声明也无法重新赋值(可以修改声明对象的内部属性).

  let const 也存在变量提升,只不过由于暂时死区的限制,你不能在 let/const x 之前使用 x; 

x = 'hl';
(() => {
console.log(x); //x is not defined
let x = 'zpy';
})()

字符串模板:

ES6中允许使用反引号 `` 来创建字符串,``可以包含由美元符号加花括号包裹的变量  `${变量}`

let a = 'boy';
let b = `this is a ${a}, good &{a}`;
console.log(b) // this is a boy, good boy

解构赋值:

ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring).

// 之前的赋值
var a = 1, b =2, c = 3;

// 简单的结构赋值 var [a, b, c] = [1, 2, 3];

 数组结构赋值

// 多维数组的结构赋值
var [a, [b], [[c]]]] = ['h',['l'], [['z']]]; 
console.log(a,b,c) // 'h' 'l' 'z'
//默认值,只有当右边对应位置为undefined时候才会选择默认(null不属于undefined)
var [a = 1, b = 2, c] = ['undefined', null, '3']; 
console.log(a,b,c) // '1' 'null' '3'
var [a, b, c] = [1, 2]; 
console.log(a,b,c) // 1 2 undefined
var [a, b] = [1, 2, 3];
console.log(a,b) // 1 2

 对象结构赋值

var {name, age} = { name: "hl", age:26 }; 
console.log(name, age) // 'hl' 26
var {id: personId, name = 'zpy', age} = { name: "hl", age:26, id:007 }; 
console.log(personId, name, age) //7 'hl' 26

 字符串结构赋值

var [a, b, c] = 'this';
console.log(a, b, c);// 't' 'h' 'i'

var {length: len} = 'this';
console.log(len) // 4 

  

猜你喜欢

转载自www.cnblogs.com/hlandzpy/p/10082105.html
今日推荐