1. 解构赋值中的函数参数默认值
function draw({size = 'big', cords = { x: 0, y: 0}, radius = 25})
{
console.log(size, cords, radius);
// do some chart drawing
}
draw({
cords: { x: 18, y: 30 },
radius: 30
});
draw(); // TypeError: Cannot read property 'size' of undefined
传递的实参没有 size 参数,就会使用默认值,但是,如果不用任何参数,会报错!
在解构表达式的右边,加上 ={}
就可以解决。
function draw(
{size = 'big', cords = { x: 0, y: 0 }, radius = 25} = {}
)
draw(); // 打印 big { x: 0, y: 0 } 25
2. 二维数组初始化与 Array.from 方法
初始化为全 0 的二维数组
let arr = Array.from(Array(3)).map(() => Array(3).fill(0))
或者
let arr = [...Array(3)].map(() => Array(3).fill(0))
引申:
《JS 高级程序设计 4 版》中的 6.2.1:
分割字符串创建数组不用这么写:
let theArr = theStr.split("");
有了 from,可以这么写:
let theArr = Array.from(theStr);
虽然 from 是浅复制,但是对于基本类型来说也足够了。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论。