以下のように書くみたいです。
30 seconds of codeより引用。
const URLJoin = (...args) =>
args
.join('/')
.replace(/[\/]+/g, '/')
.replace(/^(.+):\//, '$1://')
.replace(/^file:/, 'file:/')
.replace(/\/(\?|&|#[^!])/g, '$1')
.replace(/\?/g, '&')
.replace('&', '?');
URLJoin('http://www.google.com', 'a', '/b/cd', '?foo=123', '?bar=foo'); // 'http://www.google.com/a/b/cd?foo=123&bar=foo'
基本的にはString.joinで結合するだけですが、記号等を置換して不正にならないようにしているようです。最初の記号だけ残すように工夫しているところがハックのポイントなんだと思います。