2017-09-29 2 views
1

나는 구성 로거 구현에 나이키 Cantelon 액션에 Node.js를 불러 붙어 책을 읽고 있어요 :node.js 구성 가능한 로거는 어떻게 작동합니까?

String.prototype.replace()를 사용할 때 우리는 두 번째로 함수를 (일치, 속성) 설정

매개 변수와 나는 그것이 무엇을하는지에 대해 단서가 없다. 아무도 어떤 기능 (일치, 속성)을 설명 할 수 있을까요? 작성 방법 코드는에 나에게 통찰력을 제공하지 않습니다 ..

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() 함수는 두 개의 인수를 취합니다 searchvaluenewvalue을. 즉, 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

관련 문제