-8

私はjavascript、node.js、およびexpressに非常に慣れていません。私の質問は、次のコードをリファクタリングして関数内の 1 行にする方法を教えてください。

exports.about = function(req, res){
 var mytime = new Date();
 res.render('about', {title: 'about page', time: mytime.toLocaleDateString() });
};

つまり、var mytime = new Date(); を圧縮する方法はありますか? と時間: mytime.toLocalDateString() を1つのステートメントに?

4

6 に答える 6

10

あなたはそうしない。簡潔さよりも読みやすさ。マシンにミニファイをさせます。


mytime.toLocaleDateString()のように書くこともできますが(new Date()).toLocaleDateString()、お勧めしません。

私の好みのスタイリング:

exports.about = function(req, res){
  var mytime = new Date();
  res.render('about', {
    title: 'about page',
    time: mytime.toLocaleDateString()
  });
};
于 2012-12-21T17:37:08.907 に答える
4

フリッツの回答を参照してください: できますが、本当に必要ですか? あなたがやった方法は素晴らしく、読みやすいです。

しかし、本当に、本当にしたい場合は、次の方法があります。

exports.about = function(req, res){
 res.render('about', {title: 'about page', time: new Date().toLocaleDateString() });
};

少し奇妙に見えますが、new Date()パーツが優先されるため、括弧で囲む必要さえありません (たとえば、 は必要ありませんtime: (new Date()).toLocaleDateString())。必要に応じてそれらを使用できますが、必須ではありません。

于 2012-12-21T17:38:08.657 に答える
1

1行

exports.about = function(req, res){ res.render('about', {title: 'about page', time: new Date().toLocaleDateString() }); };

これはかなりばかげていますが。元のコードに問題はありません。

于 2012-12-21T17:39:24.957 に答える
1

このコードを短くしても、改善されることはありません。個人的には、次のように少し大きくします。

exports.about = function (req, res) {
    var mytime = new Date();
    res.render('about', {
        title: 'about page',
        time: mytime.toLocaleDateString()
    });
};
  • functionそれがJSLintが望んでいることなので、後にスペースを追加しました。
  • {読みやすくするため、の前にスペースを追加しました。
  • オブジェクトのすべてのプロパティを別々の行に配置したので、一日中横方向にスクロールする必要はありません (さらに、各プロパティの最後にコメントを追加できるようになりました!)。
  • 最後に、スペースのインデントをタブに置き換えました。これにより、すべてが完全に整列し、キーを 1 回押すだけでそれらを削除または移動することができます (キャレットが行の先頭にある場合、4 つのスペースはコードに移動するために 4 つのキーを押す必要があります)。 、1 つのタブで必要なキー操作は 1 回だけです)。
于 2012-12-21T17:39:49.593 に答える
0

私の意見では、現在のシステム時刻を取得しているだけなので、mytime 変数を削除する方が良いスタイルであり、new Date() は意図を完全に明確にします。

exports.about = function (req, res) {
    res.render('about', {
        title: 'about page',
        time: new Date().toLocaleDateString()
    });
};
于 2012-12-21T17:48:13.060 に答える
0

あなたができる、

exports.about = function(req, res){
  res.render('about', {title: 'about page', time: new Date().toLocaleDateString() });
};

しかし、それはそれについてです。私はフリッツ・ヴァン・カンペンに同意します。

于 2012-12-21T17:39:41.500 に答える