ES6~(ES2015)

本文详细介绍了ECMAScript 6(ES6)中引入的新特性,包括let和const声明、解构赋值、模板字符串、箭头函数等,并对数组、对象及函数的扩展用法进行了说明。

*

新类型
      symbol

 

声明变量

  let    块级作用域,不存在变量提升(需先声明,后使用),且作用域“锁死”

  const    块级作用域,var函数作用域

 

解构赋值

  字符串

    ① const [a,b,c,d,e] = 'hello';    //b =》e

    ② let {length: len} = 'hello'      //len =》5

  数组

    ① var [a, b, c] = [1, 2, 3]

    ② let [foo, [[bar,], baz]] = [1, [[2], 3]]

    ③ let [head, ...tail] = [1, 2, 3, 4]      //...tail =》 2,3,4;        ...rest运算符;     

      类 对象扩展运算符 --arguments:  let a = [1,2,3]; let b = [...a];

    ④ let [a,b='kk'] = ['33']          // b 的默认值是'kk' 

  对象

        var foo; ({foo} = {foo:'bbb'})

    ① var {foo, bar} = {bar:'bbb', foo:'aaa'}

    ② let {foo:baz} = {foo:'aaa', bar:'bbb'}    // baz =》'aaa'    foo =》undefined

     (var {foo:foo, bar:bar} = {foo:'aaa', bar:'bbb'})

  数值和布尔值

  函数参数

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

    add([1,2])

 

字符串的扩展

  {}  codePointAt()  fromCodePoint()

  for...of

  includes()  startsWith()  endsWith()

  repeat()

  padStart()  padEnd()

  模板字符串``    (let a ='你好'; let b = `hello ${a} world 世界。`;    // hello 你好 world 世界)

 

正则的扩展

  修饰符:u、y

  stickey属性 --> 是否有y修饰符

  flangs属性 --> 返回修饰符

 

数组的扩展

    json => array    Array.form(json);

  数字、文本、变量  Array.of(1,2,3);

  find()  

let arr=[1,2,3,4,5,6,7,8,9];
console.log(arr.find(function(value,index,arr){
    return value > 5;
}))
View Code

  fill()

let arr=[0,1,2,3,4,5,6,7,8,9];
arr.fill('jspang',2,5);                     //填充内容  start  end
console.log(arr);
View Code

 

  for (let item of arr )

  for (let item of arr.keys() )

  for (let [ index, val ] of arr.entries() )

let arr=['jspang','技术胖','大胖逼逼叨']
let list=arr.entries();
console.log(list.next().value);
console.log(list.next().value);
console.log(list.next().value);
View Code

   in(对象和数组是否存在)

        // console.log('a' in obj);   true    obj = { a: 'blogs'}

     // console.log(0 in arr); true         arr = [ 'blogs', '博客园']

  遍历

    forEach、filter、some、map(替换)、

  toString();

  arr.map(function (arrItem) { /**/  })  循环数组

函数的扩展

  参数默认值: y = y|r  -->  (y=4)

  ...

  name

  箭头函数

对象的扩展

  〇

  var name = 'name', function = 'function';    var obj = {name,function}

  

  var foo = ‘bar’ 
var baz = {foo}
  ==》es5    var baz = {foo:'baz'}
 
  ②
  var o = {    
method () {} 
}

          ==》es5   

var o = {
method:function(){}
}

 

  

 obj['a' + 'bc'] = 123;      ==》es5  let obj = {

                           [prokey] : true,

                           ['a' + 'bc'] : 123;     

                       };

  ④ name  返回对象名称  Object.is(NaN,NaN);     Object.is(+0,-0);

  ⑤ assign   合并

  

  ⑥ for...of    lterator

  ⑦ 模块

    { cid as c, aid as a, family as f}

    export default   vs  export              import

 

es5、6

 

ES8(ES2017)new Uint8Array()

以妓会友,评赞走起

babal
npm install -g babel-cli (全局)

npm install --save-dev babel-preset-es2015 babel-cli(生产环境)

转载于:https://www.cnblogs.com/lgyong/p/8711550.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值