teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

組み込み式に関しての説明を追加

2021/06/10 14:43

投稿

miyabi-sun
miyabi-sun

スコア21461

answer CHANGED
@@ -4,6 +4,11 @@
4
4
  テンプレートリテラルの`{}`は
5
5
  「組み込み式」であって変数ではありません。
6
6
 
7
+ 「組み込み式」というのは実践的な話をすると「値」を指します。
8
+ 変数名だけポンと書いても値、これは勿論正しい。
9
+ `Percentage(a, b)`のように書いたら関数実行した返り値という値。
10
+ 最終的に1個の値になれば良いので、中で三項演算子を使っても構いません。
11
+
7
12
  > ```js
8
13
  > const Percentage = (num, per) => {
9
14
  > return (num/100)*per;
@@ -11,9 +16,13 @@
11
16
  > ```
12
17
 
13
18
  Percentageは関数宣言です。
14
- 質問文のコドは恐らく「関数実行した結果」が欲しいのでしょう
19
+ テンプレトリテラル`${Percentage}`と指定ても計算結果は出てきません
15
- その場合、下記のようにしましょ
20
+ 文字列無理やり評価とした結果、
21
+ `(num, per) => { return (num/100)*per; }`みたいな文字列になることでしょう。
16
22
 
23
+ 質問文のコードは「関数実行で計算した結果」が欲しいはずです。。
24
+ 下記のようにしましょう。
25
+
17
26
  ```js
18
27
  res.send(`${Percentage(total, tipPercentage)}`);
19
28
  ```
@@ -31,4 +40,7 @@
31
40
 
32
41
  // resはres.jsonにすると良い感じにJSON形式で返してくれる
33
42
  res.json(Percentage(total, tipPercentage));
34
- ```
43
+ ```
44
+
45
+ ん?Percentageの関数、ちょっと変だな?
46
+ 100分率にだから100をどっかで掛け算するのが正解でしょうね。