首页 > 解决方案 > 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;}"

标签: javascriptnpmjestjs

解决方案


推荐阅读