window.fetch = function () {const args = FetchHook.fetchArgs(arguments);// do something else}static fetchArgs (args: IArguments) {let arg0: Request;let arg1: RequestInit;const result = {url: '',method: 'GET',headers: {}};// 这里会报错,因为 args 是 Iarguments,需要有callee// callee指向arguments对象的拥有函数引用args = Array.prototype.slice.apply(args);args.length > 0 && (arg0 = args[0]);args.length > 1 && (arg1 = args[1]);arg0 && typeof arg0 === 'string' && (result.url = arg0);if (arg0 && typeof arg0 === 'object') {result.url = arg0.url;result.method = arg0.method;}if (arg1 && typeof arg1 === 'object') {result.method = arg1.method || result.method;result.headers = {'Pinpoint-TraceID': PinPoint.getTraceId(),...arg1.headers,};}return result;}


可以使用 es6 的解构赋值处理
