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

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

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

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

Q&A

解決済

3回答

2583閲覧

関数の呼び出しの()の意味がわからない

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

0グッド

0クリップ

投稿2018/09/21 05:42

const priceYen = convertToYen(price)の(prince)の意味がわかりません。
progateをやっています。

JavaScript

1// 定数dollarYenRateに110を代入してください 2const dollarYenRate = 110; 3 4// アメリカドルを日本円に換算する関数convertToYenを作成してください 5const convertToYen = (priceDollar) => { 6 return priceDollar * dollarYenRate; 7}; 8 9const information = (name, price) => { 10 console.log(`アメリカドルで${name}${price}ドルです`); 11 12 // 定数priceYenを用意し、関数convertToYenを呼び出したものを代入してください 13 const priceYen = convertToYen(price); 14 15 // 「日本円で〇〇は△△円です」と出力してください 16 console.log(`日本円で${name}${priceYen}円です`); 17 18 // 消さないでください 19 console.log('--------------'); 20}; 21 22information("香水", 48); 23information("お菓子", 6); 24

いままでやったことでconvertToYen(price)の部分は定数名+(値)にすることはわかっているのですが、値がなぜpriceになるかわからないです。

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

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

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

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

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

guest

回答3

0

JavaScript

1const information = (name, price) => { 23}

informationは、第一引数に名称、第二引数に金額(ドル)を受ける関数です。
つまり、nameには名称が代入され、priceには金額(ドル)が代入された状態で呼び出されるわけです。

JavaScript

1information("香水", 48); // 「香水」がnameに代入され、「48」がpriceに代入されて呼び出される。 2information("お菓子", 6); // 「お菓子」がnameに代入され、「6」がpriceに代入されて呼び出される。

呼び出している所が上記の部分になりますね。

convertToYenは第一引数にドルを受け、そのドルを円に変換する関数です。
ドルは今priceに代入されているわけですから、convertToYen(price);ということになります。

投稿2018/09/21 05:58

root_jp

総合スコア4666

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

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

退会済みユーザー

退会済みユーザー

2018/09/21 08:21

回答ありがとうございます。 たぶん、初歩の初歩がわかっていなくて、一番高評価があるのに、分からずにいました。 priceをreturn内のpriceDollarに代入していると聞いて、 >convertToYenは第一引数にドルを受け、そのドルを円に変換する関数です。 ドルは今priceに代入されているわけですから、convertToYen(price);ということになります。 が理解できました。ありがとうございました。
guest

0

ベストアンサー

いままでやったことでconvertToYen(price)の部分は定数名+(値)にすることはわかっている

言葉の定義はしっかり覚えた方が良いですね。
convertToYenを定数名、(xxx)のxxxの部分を値と認識されているようですが、
正しくはconvertToYenは「関数名」、(xxx)のxxxの部分は引数[※]と言います。
※関数を呼び出すときの引数は処理上の実際の値を指すので実引数といい、
定義の時の引数はどんな値が来るのかわからないので、仮に定めておくものとして仮引数といいます。

javascript

1const convetToYen(priceDollar) => { 2 /* 仮引数 */

javascript

1const priceYen = convertToYen(price); 2 /* 実引数 */

実引数は1や10.456などの数値、"HOGE"などの文字列の他に、変数を使用することも可能です。
変数の中身は結局のところ数値や文字列など、実際に値を持っているものですからね。

さて、ご質問のconvertToYen(price)priceですが、これは変数です。
どんな値が入ってるかというと、information関数が呼ばれた時の数値が格納されています。

javascript

1 /* ↓ここ */ 2information("香水", 48); 3information("お菓子", 6); 4 /* ↑ここ */

というわけで直接数値や文字列を書かなくても、変数を使うこともできますよということですね。

投稿2018/09/21 06:10

dice142

総合スコア5158

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

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

退会済みユーザー

退会済みユーザー

2018/09/21 07:43

回答ありがとうございます。 言葉の使い方が間違っていました。これから改めます。 ただ、もう少しわからないところがあって convertToYen(price);と書くと、convertToYen = (priceDollar)のpriceDollar部分がpriceに置き換わり、return内のpriceDollarもpriceになるということでしょうか?
dice142

2018/09/21 07:52

> convertToYen(price);と書くと、convertToYen = (priceDollar)のpriceDollar部分がpriceに置き換わり、return内のpriceDollarもpriceになるということでしょうか? だいたいの解釈は合っていると思います。 information関数内ではpriceと呼び、convertToYen関数内ではpriceDollarと呼ぶというような、名前が違うだけですね。 変数はあくまでも値を格納する箱とか名札だと思ってください。
madoka9393

2018/09/21 07:56

横から失礼いたします。 informationでpriceに48や6が代入されている(price=48)ように、 convertToYenではpriceDollarにpriceが代入されている(priceDollar=price=48)ということですね。
退会済みユーザー

退会済みユーザー

2018/09/21 08:14

返信ありがとうございます。madokaさんの考え方もこれから取り入れようとおもいます。
guest

0

price自体はただの変数であり、
const priceYen = convertToYen(price)におけるpriceは引数ですね。
price = 100だったと仮定してconvertToYen(100)としているのと同じです。
このコードを見る限りではpriceが定義されていない(ように見える)のでどこからとってきているのかはわかりませんが…。
information(name,price)の部分で受けてましたね…。

root_jp様の回答にある通り、information("香水", 48)からconst information = (name, price)
を呼び出し、price48が代入されています。

引数を使って関数へ値を渡す
MDN:関数

投稿2018/09/21 05:58

編集2018/09/21 06:02
madoka9393

総合スコア992

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

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

root_jp

2018/09/21 06:00

information関数の第二引数がpriceです。
madoka9393

2018/09/21 06:03

ご指摘ありがとうございます。 全体を正確に把握できていませんでした…。
退会済みユーザー

退会済みユーザー

2018/09/21 08:16

回答ありがとうございました。 priceが変数になることを知ることができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問