小编Luk*_*rus的帖子

return void 0; vs return;

我正在研究Underscore.js的带注释的源代码.

http://underscorejs.org/docs/underscore.html#section-41

这是_.first方法:

  _.first = _.head = _.take = function(array, n, guard) {
    if (array == null) return void 0;
    return (n == null) || guard ? array[0] : slice.call(array, 0, n);
  };
Run Code Online (Sandbox Code Playgroud)

题:

为什么'返回void 0;' 而不仅仅是'回归' ?据我所知,return隐式返回函数的undefined(值!).就像'return void 0'一样.

javascript underscore.js

11
推荐指数
1
解决办法
9461
查看次数

'string | 类型的参数 number” 不可分配给“never”类型的参数

片段和错误:

const methods = {
  a(value: number) {},
  b(value: string) {}
};

function callMethodWithArg(methodAndArg: { method: 'a'; arg: number; } | { method: 'b'; arg: string; }) {
  methods[methodAndArg.method](methodAndArg.arg);
}
Run Code Online (Sandbox Code Playgroud)

'string | 类型的参数 number” 不可分配给“never”类型的参数。类型“string”不可分配给类型“never”。

看起来打字稿不够智能,无法弄清楚a只能用数字调用方法,而b只能用字符串调用方法。

有什么建议如何正确输入吗?

操场

typescript

5
推荐指数
1
解决办法
4357
查看次数

标签 统计

javascript ×1

typescript ×1

underscore.js ×1