- 模板字符串的使用
在两个 `` 中可以使用${expression}表达式 , 在做动态字符串的拼接时非常有用 。
示例:
文章插图
let [a, b, c] = [10, 20, 'JS']let str = `a = ${a}, b = ${b}, c = ${c}`输出:a = 10, b = 20, c = JS
模版字符串还可以定义多行文本let str = `sdfjkasdfasdfasdfsdfasdfasdfasdfsdfasdfasdfasdf`
- 判断是否数组
文章插图
方式二
文章插图
- 函数参数校验
function fn(name) {if (!name) {// todo}}
默认值方式(推荐)let paramRequire = (param) => {throw new Error(`${param} is required`)}function validForm(name = paramRequire('name')) {console.log(`${name} success`)}调用1:validForm()输出1:VM539:1 Uncaught Error: name is requiredat paramRequire (<anonymous>:1:38)at validForm (<anonymous>:1:27)at <anonymous>:1:1调用2:validForm('JS')输出2:JS success
文章插图
- || 或运算符
文章插图
当 || 第一个表达式为false时 返回第二个表达式的值
注意这里如果第一个表达式为0时 , 需要特殊处理 , 在js中0 也表示false , 这里可能0算是一个正常的值 , 结果也返回了 第二个表达式 。解决方式:??(两个问号)
文章插图
详细参见:4个未听说过的强大JavaScript操作符
- 整数判断
文章插图
- 解构
文章插图
文章插图
数组
文章插图
这里也可以通过 展开 符号 ... (3个英文点)用来接收剩余的所有值(数组) 。
- 展开运算符
function sum(x, y, z) {return x + y + z;}const numbers = [1, 2, 3];console.log(sum(...numbers));// expected output: 6console.log(sum.Apply(null, numbers));// expected output: 6// 数组复制var arr = [1, 2, 3];var arr2 = [...arr]; // like arr.slice()arr2.push(4);// arr2 此时变成 [1, 2, 3, 4]// arr 不受影响var parts = ['shoulders', 'knees'];var lyrics = ['head', ...parts, 'and', 'toes']; // ["head", "shoulders", "knees", "and", "toes"]
数组拼接方式1
var arr1 = [0, 1, 2];var arr2 = [3, 4, 5];// 将 arr2 中所有元素附加到 arr1 后面并返回var arr3 = arr1.concat(arr2);
方式2var arr1 = [0, 1, 2];var arr2 = [3, 4, 5];var arr3 = [...arr1, ...arr2];
对象展开及合并var obj1 = { foo: 'bar', x: 42 };var obj2 = { foo: 'baz', y: 13 };var clonedObj = { ...obj1 };// 克隆后的对象: { foo: "bar", x: 42 }var mergedObj = { ...obj1, ...obj2 };
- 求幂运算符
Math.pow(4, 3)64
方式24 ** 364
注意:求幂运算符是是右结合的: a ** b ** c 等于 a ** (b ** c).如下:
2 ** 2 ** 3 ==》 2 ** (2 ** 3)2562的8次方
- 逗号操作符
let x = 1;x = (x++, x);console.log(x);// expected output: 2x = (2, 3);console.log(x);// expected output: 3
- 地址栏查询参数
var url = new URL('https://example.com?foo=1&bar=2');var params = new URLSearchParams(url.search);params.get('foo') // 1params.get('bar') // 2
项目中可以这么用// localhost:8080/login?username=zs&password=123var params = new URLSearchParams(location.search);params.get('username') // zsparams.get('password') // 123
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 古玩拍卖有哪些技巧讲究
- 计算机病毒的防治技巧
- 买茶叶的技巧,贡牌茶叶2018新茶
- 半生缘减肥茶饮用技巧,半生缘减肥茶的副作用
- 卫浴洁具选购技巧有哪些
- 不可不知的奉茶技巧,茶虽宜静饮品的只是茶的心情
- JavaScript的两大类内建数据类型
- Win10优化技巧,性能提升10%以上
- 北港毛尖的选购技巧,北港毛尖简介
- javascript 代码的简单优化