Es6

it2022-05-05  168

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

 

基础书籍:ES6 入门

let 和 const

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) // ""

》》》

转载于:https://www.cnblogs.com/haigui-zx/p/7638111.html

相关资源:javascript -es6

最新回复(0)