質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

2回答

2237閲覧

配列の名前が複数形で、functionの引数が単数形なのに動くのは何故でしょうか?

Kana-T

総合スコア5

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2020/08/05 02:27

JavaScriptのfunctionの引数はbillで、配列がbillsなのに、
何故functionが機能するのか教えていただきたいです!

全く同じ名前ではないのに、このbillはここのbillsの配列の要素だって認識してるんでしょうか。

Tipの料金を計算するfunctionと配列

function tipCalculator(bill) { var percentage; if (bill < 50) { percentage = 0.2; } else if (bill >= 50 && bill < 200) { percentage = 0.15; } else { percentage = 0.1; } return percentage * bill; } var bills = [124, 48, 268]; var tips = [tipCalculator(bills[0]), tipCalculator(bills[1]), tipCalculator(bills[2])]; var finalValues = [bills[0] + tips[0], bills[1] + tips[1], bills[2] + tips[2]]; console.log(tips, finalValues);

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

全く同じ名前ではないのに、このbillはここのbillsの配列の要素だって認識してるんでしょうか。

関数の仮引数名は、外部のコードとは関係なく自由につけられます。名前で紐付けるのではなく、関数の呼び出し時のカッコ内に書いたものが引数として渡される、それだけの話です。

投稿2020/08/05 02:30

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2020/08/05 02:31

というより、billsの1要素だけ渡す以上、引数名が「bill」というのもむしろ(人間にとって)わかりやすい、と考えます。
Kana-T

2020/08/05 04:04

カッコ内を認識しているだけですね!この場合、tipCalculator(ここ)ですね。 非常にスッキリました。ありがとうございました!
guest

0

引数も単なる変数で変数名は任意なので名称に関連性は全くありません。

よく考えてみてください。
渡す引数は別に変数でなくても、「テスト」「123」のような固定値であることもあります。関数(渡されるのは実行結果)であることもあります。

関数側はあくまで渡された情報のみを受けとるだけで、名称という概念までは受けとりません。

投稿2020/08/05 02:35

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問