JavaScript超初心者です。はじめようシリーズで勉強しているところです。
第9回のユーザー定義関数について質問があります。
冒頭で例として挙げられている「税込み金額を計算するための関数(tax)」では、
処理内容として
vartax = price *1.08;
のように、関数と同じ名前の変数(tax)を定義しています。
一方、その後の練習問題の「三角形の面積を計算するための関数(triangle)」では、
処理内容として
varresult = x * y /2;
のように、関数とは別の名前の変数(result)を定義しています。
なぜ練習問題ではわざわざ関数とは別の名前の変数を定義しているのでしょうか?
どういう意図があるのでしょうか?
どなたかご教示いただけると幸いです。よろしくお願いいたします。
一応寄稿者なので回答いたしますと…
前提として、関数名とその関数の中で使われる変数名を一緒にしないといけないルール、別々にしなければいけないルール自体はありません。
ですので、結論としては「コードを読んで、意味が伝わればOK」ということであり、意味さえ理解できればいいですし、この短い関数の中での変数は使い捨てのようなものですので、関数内の変数名にそこまで気を使ってない、という感じですかね。
なので下記でも全然問題はありません。
function tax(price) {varresult = price *1.08;returnresult;
}
ここからは余談なのですが
そもそも示しているコードが、関数名と変数名がかぶってるのはよくないですね。。その関数内で自分自身を呼び出すこともあるため、
関数名: calcTax
中で使われる変数名: tax, result, そもそも変数に格納しないでreturnする, など
など、かぶらないようにする方が望ましい気がします。
ありがとうございます。taxの例はむしろあまり良くない例ということなんですね。
よく理解できました。ありがとうございます!