元组内部的值只是对列表的引用,如果我更改列表中的值,一切都仍然有序,对吧?我想确保如果我这样做,我将不会开始遇到混乱的错误.
我想编写一个函数,它接受一个类作为参数,但只接受implement一个特定接口的类。
我知道我可以使用any,但是依靠类型系统来强制执行这一点会很好。
一些伪代码来表达我的意思......
interface MyInterface { ... }
class Class1 implements MyInterface { ... }
class Class2 { ... }
function doStuff(classParameter: Class implements MyInterface) { ... }
doStuff(Class1); // OK
doStuff(Class2); // Error
Run Code Online (Sandbox Code Playgroud) 我一直在更新我前段时间写的一个库,这样做时我意识到在严格模式下测试时会出现意外错误。这些问题的出现是因为某些 API 函数开始时的检查会在参数数量不正确时抛出错误。下面是一个例子:
if(arguments.length < 2){
throw new Error("Function requires at least two arguments.");
}
Run Code Online (Sandbox Code Playgroud)
第二个参数绝对可以是任何值,因此检查 null/undefined 并不表明该参数是否丢失或无效。但是,如果缺少参数,则绝对存在使用错误。Error如果可能的话,我想将此报告为抛出。
不幸的是,该arguments对象在严格模式下是不可访问的。尝试在上面的代码片段中访问它会产生错误。
如何在不访问arguments对象的情况下在严格模式下执行类似的检查?
编辑:Nina Scholz错误地将此问题标记为重复。
arguments ×1
class ×1
interface ×1
javascript ×1
list ×1
python ×1
reference ×1
strict ×1
tuples ×1
typescript ×1
use-strict ×1