2017-09-29 29 views
1

私はナイキCantelonによってアクションでのNode.jsという本を読み、設定可能なロガーの実装で立ち往生しています:node.js設定可能なロガーはどのように機能しますか?

String.prototype.replaceを使用している場合()私たちは二通りの機能(マッチ、プロパティ)を設定パラメータと私はそれが何かについては無知です。誰がどのような機能(マッチ、プロパティ)を説明することができますか? searchvaluenewvalue:コードは私にその洞察力を与えるものではありません書かれている方法..

function setup(format){ 
let regex = /:(\w+)/g; 
return function logger(req, res, next){ 
     let str = format.replace(regex, (match, property) => { 
      return req[property]; 
     }); 
     console.log(str); 
     next(); 
    } 
} 

module.exports = setup; 

答えて

0

はString.replace()関数は、2つの引数を取ります。つまり、format文字列内の特定のパターンを検索しています。検出されると、値はreq[property]に置き換えられます。したがって、関数は引数としてpropertyを取得してから、reqオブジェクトのキーとして使用し、値を取得し、見つかった外観をformat文字列に置き換えます。

+0

今、私は要点を得ていますが、まだ「マッチ」が何をするかを知っています。 'match'についていくつかの詳細を教えてください。 – Nick

+0

関数の引数[here](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_function_as_a_parameter)について知ることができます。 – cassini

関連する問題