gpt4 book ai didi

javascript - 编译时需要函数参数检查

转载 作者:行者123 更新时间:2023-11-30 14:58:50 25 4
gpt4 key购买 nike

是否有在构建时和运行时在函数中强制执行参数的最佳实践方法?例如,如果我有以下功能:

    function localize(strings, key, ...args) {

return ...
}

我这样调用它:

    var result = localize('myKey')

我没有传递第一个参数('strings')。我想抛出一个编译错误,而不是等到运行时才得到错误。

最佳答案

因为 Javascript 没有编译,并且是动态类型的,所以除了在运行时之外,没有办法在您的示例中强制执行契约(Contract)。

但是,您可以使用 Typescript、Flow 等构建系统为您的代码添加类型注释。这些需要一个编译步骤,但是您在示例中遇到的问题会在该步骤中被两者捕获。

据我所知,如果没有它,就无法获得您想要的东西。在 vanilla javascript 中,您可以做的最好的事情是验证在 localize 函数中提供的参数,并使用日志/错误,以便在本地测试代码时可以轻松识别问题。这里重要的一点是,如果不实际运行您的代码,就无法使用 vanilla JS 捕获示例中的错误。

关于javascript - 编译时需要函数参数检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46853274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com