74788


PHPのコードの解読をお願いしたいです。  
調べてもどのような意味なのか、どのようなコードなのかわかりません。  
どのような読み方だけご教示いただきたいです。  
また、足りない情報（ファイル）コードなどあったら教えてください。補足します。

[code]

    template.push(`<span class="font-size-20 ${ getColorTextMonthCurrentYear(parsePotentiallyGroupedFloat(numeral(averageArr[0]).format(isTableStar ? '0,0.0' : '')),parsePotentiallyGroupedFloat(numeral(averageArr[1]).format(isTableStar ? '0,0.0' : '')))} data-table">
                        ${ parsePotentiallyGroupedFloat(numeral(averageArr[1]).format(isTableStar ? '0,0.0' : '')) === 0 ? 0 : numeral(averageArr[1]).format(isTableStar ? '0,0.0' : '')}
                    </span>`);
    
[/code]


CC BY-SA 4.0
2021-03-20T11:47:25.210
74785
2021-03-20T16:13:35.477
40369
question
php laravel
PHPのコードの解読をお願いしたいです。調べてもどのような意味なのか、どのようなコードなのかわかりません。コードは本文に記載しておきます。


まず、PHPのタグをつけて質問されていますが、これはJavaScriptのコードと思われます。

元のコードに改行が少なく見づらいため、改行とインデントを加えてみます。

[code]

    template.push(`
    <span class="
        font-size-20
        ${
            getColorTextMonthCurrentYear(
                parsePotentiallyGroupedFloat(
                    numeral(averageArr[0]).format(isTableStar ? '0,0.0' : '')
                ),
                parsePotentiallyGroupedFloat(
                    numeral(averageArr[1]).format(isTableStar ? '0,0.0' : '')
                )
            )
        }
        data-table
    ">
        ${
            parsePotentiallyGroupedFloat(
                numeral(averageArr[1]).format(isTableStar ? '0,0.0' : '')
            ) === 0 
            ? 0 
            : numeral(averageArr[1]).format(isTableStar ? '0,0.0' : '')
        }
    </span>
    `);
    
[/code]

バッククォート ```` で囲まれた文字列の中にドルマークと中括弧で `${...}`
のように式が埋め込まれているのは、[テンプレートリテラル](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Template_literals)と呼ばれる構文です。  
JSでHTMLタグを出力する際に、複数行にわたる記述をそのまま表示させたいときや、式から返される値を埋め込みたいときに、文字列を連結するよりもすっきりと書けるためよく使われています。

クエスチョンマーク `?` とコロン `:`
が使われているのは、[三項演算子](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)と呼ばれる構文です。  
コード中で三項演算子が使われている箇所を例にすると、以下の1つ目の記述は2つ目の記述と同じことを表しています。

[code]

    isTableStar ? '0,0.0' : ''
    
[/code]

[code]

    if (isTableStar) {
        return '0,0.0';
    } else {
        return '';
    }
    
[/code]

やっていることとしては、  
1つ目の `${...}` で要素の色を指定するCSSクラス名を出力し  
2つ目の `${...}` で画面に表示する数値を出力している  
のだと思います。


CC BY-SA 4.0
2021-03-20T13:41:40.353
74788
2021-03-20T16:13:35.477
2021-03-20T16:13:35.477
44416
44416
74785
answer