Объясните, пожалуйста, основной код настройки сервера c Express. js - PullRequest
0 голосов
/ 07 мая 2020

В этом фрагменте кода:

Const express = require('express')

Const app = express();

 /*Typeof express = function
 Typeof app = function*/

 app.get()

Мой вопрос: если приложение является функцией, то как мы можем использовать с ним оператор точки для вызова функции get, и если мы создаем объект функции express тогда почему мы не использовали ключевое слово new для создания объекта.

Во-вторых, module.exports экспортирует литералы в формате объекта, тогда почему мы получаем typeof express здесь функцию.

Если я где-то ошибаюсь, поправьте меня, пожалуйста.

1 Ответ

1 голос
/ 07 мая 2020

В JavaScript функции являются объектами , поэтому это действительно:

function x() { 
  console.log("this is x()");
}
x.y = function() { 
  console.log("this is x.y()");
}

x();
x.y();

Express и другие инструменты JavaScript широко используют эту функцию.

Если вы привыкли к другим языкам, где функции являются просто функциями, а не сами объекты это покажется необычайно странным.

...