能否用ES6语法一行实现输出错误日志并从函数返回的操作?
实现方法与说明
完全可以实现你要的代码浓缩效果,不存在作用域限制,只要合理定义工具函数即可。
具体实现方式
首先定义一个通用的工具函数,封装日志输出逻辑:
const logAndReturn = (msg) => { console.error(msg); };
然后在需要判断的地方,用一行代码完成判断、日志输出和退出操作:
const fileEl = document.getElementById("import-style-file-input"); if (fileEl === null) return logAndReturn("No file element");
这里利用return语句的特性:先执行logAndReturn函数输出错误日志,再通过return退出当前函数,完美替代原有的两行代码。
作用域说明
只要你定义的logAndReturn函数在当前代码的可访问作用域内(比如全局作用域、当前模块作用域,或者当前函数的父级作用域),就能正常调用,不会有作用域限制问题。如果是模块化项目,还可以把这个工具函数抽离到公共工具文件中,导入后复用。
扩展优化(可选)
如果需要更灵活的日志处理,比如支持自定义日志级别,可扩展函数逻辑:
const logAndReturn = (msg, level = 'error') => { console[level](msg); }; // 使用示例:输出warn级别日志 if (fileEl === null) return logAndReturn("No file element", 'warn');
内容的提问来源于stack exchange,提问作者era
相关产品推荐
相关产品推荐

