Nic*_*ick 14 javascript node.js read-eval-print-loop
如果某些javascript计算的结果是10,000个元素的数组,则Node.js repl将其打印出来.我该如何阻止它这样做?
谢谢
aku*_*uhn 23
你为什么不追加; null;你的表达?
如在
new Array(10000); null;
Run Code Online (Sandbox Code Playgroud)
打印
null
Run Code Online (Sandbox Code Playgroud)
甚至更短,使用 ;0;
将结果分配给声明的变量var. var陈述总是回归undefined.
> new Array(10)
[ , , , , , , , , , ]
> var a = new Array(10)
undefined
Run Code Online (Sandbox Code Playgroud)
节点使用检查来格式化返回值。用仅返回一个空字符串并且不会显示任何内容的函数替换inspect。
require('util').inspect = function () { return '' };
您可以自己启动 REPL 并更改任何让您烦恼的内容。例如,您可以告诉它undefined当表达式没有结果时不打印。或者您可以包装表达式的计算并阻止它们返回结果。如果您同时执行这两件事,则可以有效地将 REPL 简化为 REL:
node -e '
const vm = require("vm");
require("repl").start({
ignoreUndefined: true,
eval: function(cmd, ctx, fn, cb) {
let err = null;
try {
vm.runInContext(cmd, ctx, fn);
} catch (e) {
err = e;
}
cb(err);
}
});
'
Run Code Online (Sandbox Code Playgroud)
Javascript 有void专门针对这种特殊情况的运算符。您可以将它与任何表达式一起使用以丢弃结果。
> void (bigArray = [].concat(...lotsOfSmallArrays))
undefined
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2921 次 |
| 最近记录: |