ES6(一)

最近ES6 很火,当然这也源于它强大的功能,现在我将自己学到的ES6知识做个小分享。。。

1.ES6是什么?

ES6:它是ECMAScript 6.0的简称,也是JavaScript语言的下一代标准,它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

2.Let和Const

Same:它们都在块级作用域内有效
Difference: Let声明变量,Const声明常量
细说let:Let是一种新的变量申明方式,它允许你把变量作用域控制在块级里面,也就是用大括号定义的代码块,let限制块级作用域,var限制函数作用域,当然for循环就比较适合用let。
细说const:const它一旦被定义不能被修改,当然它也是块级作用域
下面给大家一些关于let,var,const 的栗子

const c = 2;  
  alert(c);     //  2
  //var   定义的变量可以修改,如果不初始化会输出undefined,不会报错。
  var a = 1;
  console.log("函数外var定义a: " + a);  //  1
  function change(){
    a = 3;
    console.log("函数内部var定义a: " + a);   // 3
        }
    change();
    console.log("函数调用后var定义a为函数内部修改值:" + a);  //3
            
   //let   是块级作用域,函数内部使用let定义后,对函数外部无影响。
   let b = 1;
   console.log("函数外var定义b: " + b);  //  1
   function change1(){
      let b = 3;
      console.log("函数外var定义b: " + b);  //  3
    }
   change1();
   console.log("函数调用后let定义b不受函数内部定义影响: " + b);  //1

2.ES6变量的解构赋值##

我们先说说什么叫解构
解构:ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值
1.模式匹配,等号两边模式一样,如果解析不成功,就是undefined

var [a,b,c] = [1,2,3];  //es6可以这样写,对应赋值

2.不完全解构,即等号左边的模式,只匹配一部分的等号右边的数组

数组解构赋值

let [a, [b], d] = [1, [2, 3], 4];
a // 1
b // 2
d // 4

解构赋值不仅适用于var命令,也适用于let和const命令
解构赋值允许指定默认值

var [hh = true] = [];
hh // true

对象的解构赋值

数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值

var { hh, ll } = { hh: "aaa", ll: "bbb" };
hh  // "aaa"
ll  // "bbb"
oo  //undefined  解析不到

字符串的解构赋值

字符串也可以解构赋值。这是因为此时,字符串被转换成了一个类似数组的对象

const [a, b, c, d, e] = 'lemon';
a // "l"
b // "e"
c // "m"
d // "o"
e // "n"

数值和布尔值的解构赋值

解构赋值时,如果等号右边是数值和布尔值,则会先转为对象。

let {toString: str} = 123;
str === Number.prototype.toString // true

函数参数的解构赋值

函数的参数也可以使用解构赋值。

function add([x, y]){
  return x + y;
}

add([1, 2]); // 3

3.箭头函数

箭头函数就是函数的一种简写形式,使用括号包裹参数,跟随一个 =>,紧接着是函数体:

//箭头函数简写
let breakfast = dessert => dessert;
/*普通写法*/
var breakfast = function breakfast(dessert){
   return dessert;
}

箭头函数不仅仅是让代码变得简洁,函数中 this 总是绑定总是指向对象自身

function Person(){
  this.age = 0;
 
  setInterval(() => {
    // |this| 指向 person 对象
    this.age++;
  }, 1000);
}
 
var person = new Person();

箭头函数不管是书写,还是this的使用,都给我们省了很多不必要的麻烦,所以说学号ES6很有必要的。

4.Map和Set

1.Map

初始化Map需要一个二维数组,或者直接初始化一个空Map。Map具有以下方法:

var m = new Map(); // 空Map
m.set('Adam', 67); // 添加新的key-value
m.set('Bob', 59);
m.has('Adam'); // 是否存在key 'Adam': true
m.get('Adam'); // 67
m.delete('Adam'); // 删除key 'Adam'
m.get('Adam'); // undefined

由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值覆盖

2.Set

Set和Map类似,也是key的集合,但不存储value。由于key不能重复,所以,在Set中没有重复的key
要创建一个Set,需要提供一个Array作为输入,或者直接创建一个空Set

var s1 = new Set(); // 空Set
var s2 = new Set([1, 2, 3]); // 含1, 2, 3

重复元素在Set中自动被过滤

var s = new Set([1, 2, 3, 3, '3']);
s; // Set {1, 2, 3, "3"}
//add(key)在set中添加元素,可重复添加,但是不会有效果
//delete(key)在set中删除元素

未完待续......

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容