码迷,mamicode.com
首页 > 其他好文 > 详细

Es6

时间:2017-10-08 18:53:42      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:http   col   error:   des   art   数组   video   sel   ++   

基础视频: http://study.163.com/course/courseLearn.htm?courseId=1003632012#/learn/video?lessonId=1004389668&courseId=1003632012

 

基础书籍:ES6 入门

let 和 const

  1. let 是块级作用域,var是函数级作用域,并且var的后定义的变量可以提前使用(变量提升),let则不容许
console.log(a) //undefiend,js 先将函数块中的变量都赋值undfined,真正执行的时候在赋值,而不会报错
var a=10

+++++++++++++
console.log(b);
let b=20; // 报错,后定义的变量不可以提前使用,语法更加的严谨

    2.const 只能赋值一次,再次更改的时候就会报错

变量的解析赋值

  • 数组

 

let arr=[1,2,4];
let [a,b,c]=arr;
console.log("a:{0},b:{1},c:{2}",a,b,c);
  • 对象

 

let obj={a:1,b:2,c:4};
let {a:A,b,d}=obj;  // 赋值的时候注意 变量名称要与obj 中的变量一一对应
console.log(a); // undefined
console.log(A); //1
console.log(b); //2
console.log(d); //undefined ,obj中没有的默认为undefined

//给出默认值
let {a:A,b,d=‘defualt‘}=obj; 
 
  • 默认值生效的条件是,对象的属性值严格等于 undefined 。
  • var {x = 3} = {x: undefined};
    x // 3
    var {x = 3} = {x: null};
    x // null
  • 如果要将一个已经声明的变量用于解构赋值,必须非常小心。
  • // 错误的写法
    var x;
    {x} = {x: 1};
    // SyntaxError: syntax error
    
    // 正确的写法
    ({x} = {x: 1});
  •   其他,
function test ({a,b}){
 console.log(a);
 console.log(b);
}

let obj={a:1,b:2};
test(obj)

字符串的解构赋值

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

const [a, b, c, d, e] = ‘hello‘;
a // "h"
b // "e"
c // "l"
d // "l"
e // "o"

类似数组的对象都有一个 length 属性,因此还可以对这个属性解构赋值。

let {length : len} = ‘hello‘;
len // 5

字符串的扩展

  • 传统上,JavaScript只有 indexOf 方法,可以用来确定一个字符串是否包含在另一个字符串中。ES6又提供了三种新方法。
    includes():返回布尔值,表示是否找到了参数字符串。
    startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。
    endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部。

  • repeat()

  repeat 方法返回一个新字符串,表示将原字符串重复 n 次。

‘x‘.repeat(3) // "xxx"
‘hello‘.repeat(2) // "hellohello"
‘na‘.repeat(0) // ""

》》》

Es6

标签:http   col   error:   des   art   数组   video   sel   ++   

原文地址:http://www.cnblogs.com/haigui-zx/p/7638111.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!