javascript - JavaScript function.toString() 在开玩笑时不会产生与浏览器相同的结果
问题描述
我正在尝试为获取参数名称的函数编写单元测试。我的函数工作正常,但我无法使用默认参数对其进行测试。我将错误确定为function.toString()在 Jest 中产生的结果与在浏览器中产生的结果不同。
有谁知道如何避免这种差异?
function testing(param1, param2 = 1) {}
let str = testing.toString();
// In browser console (Chrome, Firefox, Opera) I got the right code
// str = "function testing(param1, param2 = 1) {}"
// In Jest I got this
// str = "function testing(param1) {var param2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;}"
解决方案
推荐阅读
- javascript - 单击按钮时如何将多个值传递给模态?
- css - Bootstrap 4 continer-fluid 类不允许具有相对位置的 div
- flutter - 如何在 Flutter 中实现背景模糊的底部模态表?
- azure-keyvault - Azure Key Vault 机密值的最大大小是多少?
- python-3.x - 迭代嵌套字典以查找相似的值,然后添加到具有相同键的字典列表中
- python - 警告:张量流:模型是用形状(20、37、42)构造的输入张量(“input_5:0”,形状=(20、37、42),dtype=float32),但是
- java - 找不到:projA:。要求:项目:app
- jenkins - 在 Jenkins 中运行 Robotframework 测试时出错
- mysql - mysql CURSOR - 无法遍历记录
- javascript - 如何使用 jquery 选择 id 的第 n 个孩子