質問: 勉強で使用している数合わせゲームで質問です。(JS初心者) 下記コードは、サンプルで置いてあったのですが、
回答: Math.random()は、0以上1未満の実数の乱数を発生させます。 たとえばこれに5をかけると、0以上5未満の乱数になり、その小数点以下を切り捨てると、0、1、2、3、4のいずれかが乱数として得られます。 では2以上5未満の乱数を生成するにはどうすれば良いのか考えてみましょう。 2、3、4を出したいわけですが、これらから2を引くと0、1、2になります。 つまりMath.floor(Math.random()*3)+2で得られます。 ここで3は、4-2+1、つまり乱数として出したい最大の数から最小の数を引いて1を足したもので、最後に足した2は最小の数です。 つまり質問の式は、this.smallestNumからthis.biggestNumまでの乱数を発生させていることになります。