идентичны ли новые Router() и Router() в koa-router?

Я видел код, который использует koa-router, как показано ниже.

const Router = require('koa-router')

const routerWithoutNew = Router()

Я думал, что это ошибка, но я был удивлен, увидев, что он работает правильно.

const Router = require('koa-router')

const routerWithNew = new Router()

и тоже нормально работает.

какая разница между routerWithoutNew и routerWithNew?


person moreeffooooooooort    schedule 24.09.2020    source источник


Ответы (1)


Они обрабатываются одинаково из-за следующей строки в исходном коде маршрутизатора Koa:

if (!(this instanceof Router)) return new Router(opts);

(из https://github.com/koajs/router/blob/56735f009768e32cce89af60337e7e2a8d6bbbc4/lib/router.js#L51)

person Chris Yungmann    schedule 24.09.2020