node+TS+koa+vue开发商城全栈

es6新扩展

新增数据类型symbol()

定义两个数据,var a = symbol(‘a’);var b=symbol('b');console.log(a==b);//返回值为false,即使两个值一模一样,symbol创建的也是两个不同的值。

其最主要的作用是起到数据私有化。

如果我们定义一个构造函数function Person(name,gender){ this.name= name,this.gender=gender);var p1=new Person('莫涛‘,'男');console.log(p1.gender);/输出为男

一般的数据保护私有化,我们使用闭包,也就是

 var Person =(function (){
            var gender = ''
            function P(name,gender){ 
                this.name= name
                gender=gender  //传过来的值赋值给了上面的gender私有变量
            }
            P.prototype.getgender=function(){
                return _gender
                }
               return P
            })()
            var p1 =new Person('莫涛','男')
            console.log(p1) //输出 只有莫涛,男被赋值给了私有变量gender,这时就无法直接获取gender的值
            console.log(p1.getgender()) //输出男,通过这种方式获取gender,保护了gender的值 
image

es6提供了更简便的方式,使用Symbol来保护数据私有化

var Person =(function (){
            var _gender = Symbol('gender')
            function P(name,gender){ 
                this.name= name
                this[_gender]=gender  //传过来的值赋值给了上面的gender私有变量
            }
            P.prototype.say=function(){
                console.log(this[_gender])
            }
                return P
            })()
            var p1 =new Person('莫涛','男')
            // p1.gender = 'asd'
            console.log(p1)
            console.log(p1.say())
image

即使他输出确确实实有一个Symbol(gender)属性,你去使用p.Symbol('gender'),它会输出undefined,因为symbol类型,即使完全一样,也不是同一个值。只能通过在内部构造函数的原型prototype中添加方法截取到gender值,这就起到了数据保护的功能,也比闭包更直观。

新增变量声明let const

var,let,const中

var声明预解析,可以先使用在声明,其他两个不行

let,const具有块作用域{},var没有

const常量定义,不能修改,其他两个可以

新增解构赋值

var arr=[1,2,3,4,5]   var [a,b] = arr;//等同于 let a =arr[0],let b =arr[1]

var obj={bar:100,foo:200} var{foo:f,bar:b} =obj;//等同于新建了一个{f:200,b:100}的对象

解构赋值的最主要作用是从一个大的数据中提取出需要的部分重新定义一个值。

扩展运算符 ...

将一个数组或者对象前面加上...,就将其外层的衣服脱掉,形成参数的形式

var arr1=[1,2,3];var arr2=[4,5,6];return arr3=[...arr1,...arr2]//返回一个[1,2,3,4,5,6]的数组

字符串扩展

新增unicode表示法 '\u{1f602}' 就将unicode编码用花括号括起来
模板扩展,使用``反引号(tab键上面)将字符串括起来,可以保持原有的格式
变量表达式解析:'{表达式}'即在字符串中添加{1+1},他会显示为2

迭代器*

image

即只有含有symbol.iterator方法的对象才能进行for of迭代,迭代器的使用,使程序员更灵活操作编程

具体介绍查看:https://www.runoob.com/w3cnote/es6-iterator.html

箭头函数

一个匿名函数中function(){}可以简写为()=>{},如果前面的参数只有一个可以省略括号a=>{},如果函数体里只有一句话可以省略为a=>a++

常用于ajax中回调函数的调用。this.axios.get('https://www.jianshu.com/').then(res=>{})

函数扩展

函数中不确定会传多少参数的时候,以前是使用arguments对象,arguments自动接收参数为一个数组,所以不用写形参。

function arrPush(){
var arr = arguments[0]
for(i=1,i<arguments.length,i++) 
arr.push(arguments[i]
}
var arr=[1,2,3]
arrPush(arr,'a','b','c')//返回[1,2,3,'a','b','c']

现在使用...newData获取后面的参数,newDate也是一个数组,用法一致,就是形参有改变

如:function arrPush(arr,...newDate)

set

类似数组,是无序的,无重复值的,可用于数组去重

var arr=[1,1,5,6,4,7,8,]
arr=[...new Set(arr)] //数组去重为[1,5,6,4,7,8]

promise

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

推荐阅读更多精彩内容

  • JavaScript的相关语法知识:1、函数(important)基本上所有的高级语言(C、OC、JavaScri...
    天山雪莲_38324阅读 630评论 0 2
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 3,831评论 0 6
  • 看这本书是在markdown在做的笔记,更友好的阅读方式访问: github es6.md(https://git...
    汪汪仙贝阅读 456评论 0 0
  • JavaScript之父:Brendan Eich 。 -基本语法:借鉴了C语言和Java语言。-数据结构:借鉴了...
    饥人谷_kule阅读 590评论 0 0
  • 这么多年了,终于堵住两个涨停板。没有出手,再忍忍。 年轻就是不信邪,也不遵守规律。大盘涨,个股会跌,所以不怎么关注...
    晓春cq阅读 109评论 0 0