Es6

ES6 不是什么新语言,也不是新框架,它就是原生 JS,
只不过是升过级的JS的一些写法。

定义变量:
1.let:
特点:
1)支持块作用域
2)不允许在相同作用域重复定义
块作用域:
{} let
以前: 函数作用域
2.const: 定义常量
常量: 一经定义,以后不可以再改变
正是因为这个特性,要求常量在定义时,必须赋初始值,否则以后就没机会了。
通常:约定,常量的名字全用大写字母
const PI = 3.14159265;
3.字符串:
let str = ; //反单引号 使用来定义字符串的话,就可以用字符串模板: ${变量}
4.解构赋值
//写法1: √
var a = 10;
var b = 12;
var c = 20;
//写法2: √
var a=10,b=12,c=20;
概念:赋值等号 左边的结构和右边一模一样。
[a,b,c] = [10,12,20]; //a = 10,b=12,c=20
[a,[b,e],c] = [100,[200,300],400];
[a,{f,g},d]=[12,{90,98},4] ×
[a,{f,g},d]=[12,{f:90,g:98},4] √
let [a,{f,g},d]=[12,{f=90,g=98},4]; ×
如果在解构赋值时,碰到json格式,那么右边必须是一个合法的json
并且,json中的每一项名字是一一对应的,和顺序无关
应用1:
用于函数的json参数初始化
function sum({a=0,b=0} = {}){
a++;
b++;
return a+b;
}
5.不定参数、扩展参数 ...
原来:arguments
现在: ...
...args 是一个真正的数组。

例1:代替arguments
    function sum(...args)
例2:扩展参数的作用
    function sum(a,b,...agrs){
        //args   除了a和b之外,其它参数的一个数组
    }
    ****...args  必须放在所有参数的最后
例3:复制数组
    1)循环每一项来复制
    2)var arr2 = [...arr1];  不是引用
    3)Array.from(arr1)  //不兼容IE  不是引用

6.for - of 循环
for
while
for...in
for(var name of 要循环的东西){

}
要循环的东西,可以是数组,但是不能是json
for-of循环,  不能用于循环json

7、数据格式 map
数据格式:
1)普通变量 var a = 12;
2)数组 var arr = [11,22];
3)JSON var json = {name:1,age:2};
4)map
map: 和json非常像 的一种新的数据格式(键/值 对)
1) 怎么弄一个map出来
map 是js中的一个对象
var map = new Map();
2) 增加内容
map.set('key','value');
例:
var map = new Map();
map.set('name','小红');
map.set('age',18);
3)获取内容
map.get('key');
例:
//建一个新对象
var map = new Map();
//设置值
map.set('name','小红');
map.set('age',18);
//获取值
map.get('name'); -- 小红
4)删除一项
map.delete('key');
用for-of循环,来循环map
1) 普通循环
for(var item of map){
item -> 数组
item[0]是map中的key
item[1] -> map中的value
}
2)利用解构赋值的形式
for(var [key,value] of map ){
alert(key);
alert(value);
}
3)循环map 的 entries()
for(let item of map.entries())

    *默认情况下就是循环的entries,也就是说,如果不写entries(),结果是一样的

4)只想循环map中的key
    for(var item of map.keys() )
     只想循环map中的value
    for(var item of map.values())

for-of循环数组 : entries() keys() values()
entries():
item -> [索引,值]
keys():
item -> 索引

values(): 
    item ->  值

循环map对象时:
map.entries()
map
以上两种写法是一个效果,得到的都是map对象的每一个item,包括key和value,是一个数组形式
循环数组:
arr.entries()
得到的是数组中每一项: [索引值,值]
arr.values() —— 报错,不支持
arr.keys() —— 得到的就是数组的索引值
8.函数
原来:
function show(){...}
var show = new Function();
show();
show(a);
show(a,b);
现在:
箭头函数: =>
省略了function,加了一个箭头=>

    1:
        function show(){
            alert(1);
        }

        let show = () => {
            alert(1);
        };
    2:
        function show(a){alert(a);}

        let show = (a)=>{
            alert(a);
        }

箭头函数,只是在函数定义时,写法有区别,在调用的时候,和原来一样。

*箭头函数里的this,固定化 自己没有去外边找 最大this是window
*箭头函数里arguments不能用了
*当参数正好有一个的时候,( ) 可以省略
*当函数里面只有一句话,而且正好是return的时候,{ }和里面的return 可以省略
9.JSON 有了简写形式
当json中的name和变量名一模一样时,可以简写为以下形式:
var a = 12;
var b = 18;
var json = {a:a,b:2};
json.a -> 12
json.b -> 18
var a = 12;
var b = 18;
var json = {a,b};

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

推荐阅读更多精彩内容

  • 看这本书是在markdown在做的笔记,更友好的阅读方式访问: github es6.md(https://git...
    汪汪仙贝阅读 438评论 0 0
  • 1、Set 1.1概念:ES6提供了新的数据结构Set,它类似数组,但是成员的值都是唯一的。 eg:const s...
    Kris_lee阅读 2,512评论 0 3
  • 今天接着学习ES6!!!接着上次来学习 第五个知识点:(...)拓展运算符 es5中赋值数组的方法:...
    哈哈腾飞阅读 172评论 0 2
  • 语法 new Map([iterable]) 参数:可以是数组或者其他的可迭代对象.null会被当作undefin...
    一二三kkxx阅读 34,128评论 1 12
  • 若不在乎,又怎会痛? 我曾路过你的心 不是我不想停留 而是你不想收留 我还在原地等你 你却已经忘记来这里找 你是我...
    溧陌阅读 122评论 0 1