## 模板字符串
```javascript
<script>
// 传统字符串 用 "" 或 '' 书写
// 问题1: 不支持换行
// var html = '<ul>
// <li></li>'
// 问题2: 字符串拼接方案繁琐, 用 +
var emp = { ename: "凯凯", age: 19, phone: "10086" }
// 姓名:xxx, 今年xx岁. 手机号xxxx
var words = '姓名:' + emp.ename + ', 今年' + emp.age + '岁. 手机号' + emp.phone
// ES6中的 字符串增强语法 -> 模板字符串
// 符号: ``
// 支持换行 和 ${} 在字符串中书写JS代码
var skills = ['js', 'html', 'css']
var words = `<ul>
<li>${skills[0]}</li>
<li>${skills[1]}</li>
<li>${skills[2]}</li>
</ul>`
console.log(words)
</script>
```
如果要在页面的上显示,只需要在body中命名个div,通过innerHTML即可
## 箭头函数
```javascript
<script>
// ES6 提供的 匿名函数语法
// 之前的匿名函数
// function() { }
// 箭头函数
// () => { }
// 官方提供语法糖:
var show = (x) => {
return 2 * x
}
// 糖1: 形参有且只有1个时, 可以省略()
var show = x => {
return 2 * x
}
// 糖2: 函数体仅有一行时,可以省略 {return }
var show = x => 2 * x
console.log(show(10))
//
//练习: 尝试用语法糖 简化下方代码
var a = (y) => { return y * y }
var a = y => y * y
var b = (x, y) => { return x + y }
var b = (x, y) => x + y
var c = (m, n) => {
return { m: m, n: n }
}
// 问题: 对象的{} 被误认为是 函数的{}, 产生歧义
// 解决: 用()括起来, 从格式上避免歧义
// { 属性名: 值 }. 巧合: 值是变量, 变量名和属性名相同
var c = (m, n) => ({ m: m, n: n })
// 语法糖: 属性名和变量名一样, 则可以合写
var c = (m, n) => ({ m, n })
console.log(
c(10, 20)
)
// 糖:
var emp = {
// 可以省略 : function
// show: function () { alert("Hello!") }
show() { alert("Hello!") }
}
emp.show() // Hello
</script>
```