string
- 单引号、双引号、反引号
- 转成 字符串类型
- String([value])
- [value].toString()
String(10) // '10'
(10).toString() // '10'
({}).toString() // "[object object]"
[0, 1, 2].toString() // "1, 2, 3"
[].toString() // ""
数学运算
- 加 + 减 - 乘 * 除 / 取余数 %
- 加法运算
- 运算出现字符串,加法运算 为拼接
- 运算出现 非字符串、非数字,用 Number() 强制转换
- 其他运算
- 运算出现非数字,用 Number() 强制转换
// %
7 % 3 // 1
// +
true + "12" // "true12"
1 + true // 2 => 1 + Number(true)
1 + {} // "1[object object]" => 1 + Number({})
1 + [] // "1" => 1 + Number([])
[10] + true // "10true" => Number([10]) + true
true + [10] // "10true" => true + Number([10])
10 - null // 10 => 10 - Number(null)
3 * undefined // NaN => 3 * Number(undefined)
true - "12" // -11 => Number(true) - Number("12")
// 面试题
100 + true + 21.2 + null + undefined + "Tencent" + [] + null + 9 + false // NaNTencentnull9false
// 100 + true => 101
// 101 + 21.2 => 122.2
// 122.2 + null => 122.2
// 122.2 + undefined => NaN
// NaN + "Tencent" => "NaNTencent"
// "NaNTencent" + [] => "NaNTencent"
// "NaNTencent" + null => "NaNTencentnull"
// "NaNTencentnull" + 9 => "NaNTencentnull9"
// "NaNTencentnull9" + false => "NaNTencentnull9false"
// 时间拼接
let year = "2020", month = "03", day = "06", hours = "12", minutes = "00", seconds = "00";
let time = `${year}年${month}月${day}日 ${hours}:${minutes}:${seconds}`
// 模版字符串
let str = `<div>
<ul>
${[10, 20, 30].map(item => {
return `<li>${item}</li>`;
}).join('')}
</ul>
</div>`
console.log(str)