javascript - 应对不存在的值(value)

标签 javascript

我想知道如果我们复制一个不存在的值,复制值的类型是什么? 是null还是undefined

const args = [1]
console.log(...args.slice(1))

这是一个具体的例子

const compose = fns => (...args) =>
  fns.reduceRight((acc, fn) => fn(acc, ...args.slice(1)), args[0]);


const func3 = (x, y) => (y > 0 ? x + 3 : x - 3);

const func2 = x => x ** 2;

const func1 = x => x - 8;

const fnOne = compose([func1, func2, func3])('3', 1);
console.log(fnOne); // should be 1081

const fnTwo = compose([func1, func2, func3])('3', -1);
console.log(fnTwo); //should be -8

最佳答案

.slice 始终返回一个数组,从不未定义。不过该数组可以为空。

如果调用函数时使用的参数少于参数,则参数将是未定义:

  const fn = (a, b) => console.log(a, b);

 fn(1) // a = 1, b = undefined
 // equals
 fn(...[1])  // a = 1, b = undefined

关于javascript - 应对不存在的值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56400781/

相关文章:

javascript - (): meaning in javascript function

javascript - 如何使用 javascript 更改按钮的主体背景颜色?

javascript - 如果p5在不断重画的过程中出现卡顿怎么办?

javascript - 通过指令传递信息

Javascript 当前使用特定样式表的时间?

Javascript 在从 iOS 输入和离开选择标签时显示/隐藏固定元素

javascript - 在 Javascript 中验证错误日期

javascript - 如何将 div id、class 作为参数传递给 anchor 标记 onclick 调用的函数?

javascript - + 运算符是连接而不是在 parseFloat 方法之后添加

javascript - 异步并设置超时