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

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

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

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

Q&A

解決済

2回答

1467閲覧

JSで戻り値を使った関数の書き方がわかりません。

ayakayakak

総合スコア6

JavaScript

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

0グッド

1クリップ

投稿2018/06/23 14:33

編集2018/06/23 14:41

前提・実現したいこと

ProgateでJavaScriptの勉強中なのですが、わからないことがあります。

発生している問題・エラーメッセージ

以下のコードで以下の出力結果の通り出力されます。
が、

const convertToYen=(priceDollar)=>{ return priceDollar * dollarYenRate; }

の部分がなぜ成立するかがわかりません。
priceDollarは定義されていないのに、どうして値を引っ張ってこれるのでしょうか。

該当のソースコード

~コード~

const dollarYenRate=110; const convertToYen=(priceDollar)=>{ return priceDollar * dollarYenRate; } const information = (name, price) => { console.log(`アメリカドルで${name}は${price}ドルです`); const priceYen = convertToYen(price); console.log(`日本円で${name}は${priceYen}円です`); }; information("香水", 48); information("お菓子", 6);

~出力結果~
アメリカドルで香水は48ドルです
日本円で香水は5280円です

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

kei344

2018/06/23 14:38

質問文のコードはそれぞれコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
ayakayakak

2018/06/23 14:42

初めての質問で要領がわかっておらず申し訳ありません。この修正方法で合っていますでしょうか?
m.ts10806

2018/06/23 23:14

自己解決されたのでしたら自身で回答を書いてその回答をベストアンサーとする形の方が望ましいです。ベストアンサーは後から同じような問題を抱えた人が見るときにまず1番最初に参考にする部分だからです。ベストアンサー付け替えは可能ですので、ご検討ください。
ayakayakak

2018/06/24 16:26

ご依頼の通り修正いたしました。
guest

回答2

0

priceDollarは定義されていないのに、どうして値を引っ張ってこれるのでしょうか。

(priceDollar)=>の部分で仮引数名にpriceDollarを指定していますよ。

【引数を使って関数へ値を渡す - 関数 - JavaScript入門】
https://www.ajaxtower.jp/js/function/index3.html

【関数と宣言 · JavaScriptの入門書 #jsprimer】
https://asciidwango.github.io/js-primer/basic/function-declaration/

投稿2018/06/23 15:04

kei344

総合スコア69364

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

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

ayakayakak

2018/06/24 16:23 編集

回答ありがとうございます。 どうやら「定義」という言葉を間違って使っていたようで、 私が伝えたかったことは、リンクを貼っていただいた2つめのサイトで言うところの「関数の呼び出し」部分が無いのではないかということでした。 ですが、自己解決できました! const priceYen = convertToYen(price); の部分で呼び出されていたのですね。 ご丁寧に2つもリンクを貼っていただいて本当にありがとうございました。 追記:修正依頼があったので、依頼通りに自分で回答してベストアンサーを付け替えさせていただきます。
guest

0

自己解決

引数であるpriceDollarの値がどこでも呼び出されていないのではないかと思ったが、
その下の関数内の

const priceYen = convertToYen(price); ```  の部分で呼び出されていた。

投稿2018/06/24 16:25

ayakayakak

総合スコア6

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問