From 4f13ac794131a0105a8a9c6599c5b7564c1348f5 Mon Sep 17 00:00:00 2001 From: gengjiawen Date: Thu, 15 Nov 2018 23:40:36 +0800 Subject: [PATCH] console: improve code readability use object spread to make console code more readable PR-URL: https://github.com/nodejs/node/pull/24412 Reviewed-By: Anna Henningsen Reviewed-By: Rich Trott --- lib/console.js | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/lib/console.js b/lib/console.js index 58c9c489987c2b..ffa6ec09c80c3c 100644 --- a/lib/console.js +++ b/lib/console.js @@ -86,23 +86,26 @@ function Console(options /* or: stdout, stderr, ignoreErrors = true */) { throw new ERR_CONSOLE_WRITABLE_STREAM('stderr'); } - var prop = { + const prop = { writable: true, enumerable: false, configurable: true }; - prop.value = stdout; - Object.defineProperty(this, '_stdout', prop); - prop.value = stderr; - Object.defineProperty(this, '_stderr', prop); - prop.value = Boolean(ignoreErrors); - Object.defineProperty(this, '_ignoreErrors', prop); - prop.value = new Map(); - Object.defineProperty(this, '_times', prop); - prop.value = createWriteErrorHandler(stdout); - Object.defineProperty(this, '_stdoutErrorHandler', prop); - prop.value = createWriteErrorHandler(stderr); - Object.defineProperty(this, '_stderrErrorHandler', prop); + Object.defineProperty(this, '_stdout', { ...prop, value: stdout }); + Object.defineProperty(this, '_stderr', { ...prop, value: stderr }); + Object.defineProperty(this, '_ignoreErrors', { + ...prop, + value: Boolean(ignoreErrors), + }); + Object.defineProperty(this, '_times', { ...prop, value: new Map() }); + Object.defineProperty(this, '_stdoutErrorHandler', { + ...prop, + value: createWriteErrorHandler(stdout), + }); + Object.defineProperty(this, '_stderrErrorHandler', { + ...prop, + value: createWriteErrorHandler(stderr), + }); if (typeof colorMode !== 'boolean' && colorMode !== 'auto') throw new ERR_INVALID_ARG_VALUE('colorMode', colorMode);