これは本当に簡単な質問のように聞こえるが、私は運がない。 +d
はjavascript:plus symbol before変数
function addMonths(d, n, keepTime) {
if (+d) {
を意味しますか?
これは本当に簡単な質問のように聞こえるが、私は運がない。 +d
はjavascript:plus symbol before変数
function addMonths(d, n, keepTime) {
if (+d) {
を意味しますか?
+演算子は、オブジェクトの数値表現を返します。したがって、あなたの特定のケースでは、dが非ゼロの数字であるかどうかについてifを述語にしているように見えます。
文書:https://developer.mozilla.org/ja/JavaScript/Reference/Operators/Arithmetic_Operators#.2b_(Unary_Plus%29 –
Paul、@amateurについては、https:// developerを参照してください。 .mxilla.org/ja/JavaScript/Reference/Operators/Arithmetic_Operators#.2b_(Unary_Plus) –
難読化されたJavaScriptコンテストの人は誰ですか? –
単項演算子で、数値式を生成します。 d*1
と同じになると私は信じている。
他の回答で説明したように、変数を数値に変換します。 dが数値であるか、数値に評価される関数の場合に特に便利です。 (問題のaddMonths
機能を使用して)
例:
addMonths(function(){return x*y;}, 1, true);
addMonths(34,1,true);
addMonths("34",1,true);
その後、+d
は、すべての場合において数と評価されます。従って、d
が数値か、関数か、数値に変換できる文字列であるかどうかによって、型をチェックし、異なるコードパスを取る必要性を回避する。
'+ d 'は、最初の呼び出しの例であるaddMonthsが –
の場合、数値に評価されません。これを書いたときに私が何をしたのか分かりません。 '+ function(){...}'は関数を評価しない 'NaN'を生成します – ecerulm
「[返品+新しい日付]」にプラス記号が表示される可能性があります(http://stackoverflow.com/questions/221539/what-does-the-plus-sign-do-in-return- new-date) – nawfal
同じ問題ですが、他のページのタイトルには、一般的なケースは記述されていません。 – geotheory
JavaScriptの「+ ...」とはどういう意味ですか?(https://stackoverflow.com/q/15129137/1048572) – Bergi