diff --git a/lib/net.js b/lib/net.js index ad799567b094c1..a218ad17b48f43 100644 --- a/lib/net.js +++ b/lib/net.js @@ -60,9 +60,8 @@ exports.createServer = function(options, connectionListener) { // connect(path, [cb]); // exports.connect = exports.createConnection = function() { - const argsLen = arguments.length; - var args = new Array(argsLen); - for (var i = 0; i < argsLen; i++) + var args = new Array(arguments.length); + for (var i = 0; i < arguments.length; i++) args[i] = arguments[i]; args = normalizeConnectArgs(args); debug('createConnection', args); @@ -75,7 +74,9 @@ exports.connect = exports.createConnection = function() { function normalizeConnectArgs(args) { var options = {}; - if (args[0] !== null && typeof args[0] === 'object') { + if (args.length === 0) { + return [options]; + } else if (args[0] !== null && typeof args[0] === 'object') { // connect(options, [cb]) options = args[0]; } else if (isPipeName(args[0])) { @@ -84,7 +85,7 @@ function normalizeConnectArgs(args) { } else { // connect(port, [host], [cb]) options.port = args[0]; - if (typeof args[1] === 'string') { + if (args.length > 1 && typeof args[1] === 'string') { options.host = args[1]; } } @@ -885,9 +886,8 @@ Socket.prototype.connect = function(options, cb) { // Old API: // connect(port, [host], [cb]) // connect(path, [cb]); - const argsLen = arguments.length; - var args = new Array(argsLen); - for (var i = 0; i < argsLen; i++) + var args = new Array(arguments.length); + for (var i = 0; i < arguments.length; i++) args[i] = arguments[i]; args = normalizeConnectArgs(args); return Socket.prototype.connect.apply(this, args);