2016-04-18 9 views
15

ミドルウェアのハンドラのexpressjsで正規表現の代わりに矢印を使用しない理由はありますか?es6ハーモニー矢印関数ハンドブック

app.use(mountSomething()) 
router.use(mountSomethingElse()) 

app.get('/', (req,res,next)=> { 
    next(); 
}) 

route.get('/path', (req,res,next)=>{ 
    res.send('send') 
}) 
+2

通常の関数の代わりに矢印関数を使用しないでください。 – saadq

+0

@saadq質問を編集しました –

+0

通常の関数式と矢印関数の唯一の違いは、矢印関数が独自の 'this'値をバインドしていないことです(詳細はこちら[https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions))。ですから、 'this'を使う必要がないこのような場合には、矢印関数を使っても問題ありません。 – saadq

答えて

10
app.get('/', (req,res,next)=> { 
    next(); 
}) 

app.get('/', function(req,res,next) { 
     next(); 
}.bind(this)) 

と同じであるほとんどのケースでは、ハンドラで(おそらく未定義になる)「はこの」を使用するつもりはありませんので、あなたは自由に使用できます矢印関数。

関連する問題