柚子讴歌的博客

es6学习第二篇

2018/01/26
es6学习第二篇

后续会持续更新

一、模板字符串

1、基本的字符串格式化,将表达式嵌入字符串中进行拼接。用${}来界定。

1
2
const name = 'laowang'
console.log`(hello $(name)`) // hello laowang

2、通过反引号(``)来对多行字符串或者字符串一行行拼接

1
2
3
const template = `<div>
<span>hello world</span>
</div>`

3、其他常用的es6方法

1
2
3
4
5
6
7
8
9
// 1. includes:判断是否包含然后直接返回布尔值
let str = 'hahay'
console.log(str.includes('y')) // true
// 2. repeat:获取字符串重复n次
let s = 'he'
console.log(s.repeat(3)) // 'hehehe'
//如果你带入小数,Math.floor(num)来处理
二、函数

1、函数默认参数

es6为参数提供了默认值。在定义函数时编初始化了这个参数,以便在参数没有被传递进去时使用

1
2
3
4
5
function action(num = 200){
console.log(num)
}
action() //200
action(300) //300

2、箭头函数

箭头函数最直观的三个特点。

  • 不需要function关键字来创建函数
  • 省略return关键字
  • 继承当前上下文的this关键字
1
2
3
4
5
6
7
//例:
[1,2,3].map( x=> x + 1 )
//等同于:
[1,2,3].map((function(x){
return x + 1
}).bind(this))
三、扩展的对象功能

es6对于对象都是以键值对的形式书写。很有可能出现键值对重名。如:

1
2
3
4
5
6
function people(name, age) {
return {
name,
age
};
}

es6同样改进了为对象字面量方法赋值的语法,通过省略冒号与function关键字,将这个语法变得更简洁

1
2
3
4
5
6
const people = {
name: 'laowang',
getName () {
console.log(this.name)
}
}

es6对象提供了Object.assign()这个方法来实现浅复制。Object.assign()可以把任意多个源对象自身可枚举的属性拷贝给目标对象,然后返回目标对象。第一参数即为目标对象。在实际中,为了不改变源对象。一般会把目标对象传位{}

1
const obj = Object.assign({},objA,objB)
CATALOG
  1. 1. 一、模板字符串
  2. 2. 二、函数
  3. 3. 三、扩展的对象功能