「はじめに」から引用する。全くのプログラミング初心者が、
プログラミングとは何か、もっと言うなら、JavaScript が活躍する Web
の世界というのはどういった仕掛けで動いているのかを理解できるよう、
その説明から始め、JavaScript
プログラミングの土台となる力を養えるようにサポートすることを心掛けました。
月ごとの季節を表示するプログラムで、「5つの季節」としていたのは私の感性に近い。 北海道を除く日本では、春夏秋冬のほかに「梅雨」という季節があるからだ。
以下の記載はただの粗探しである。
p.430 の「null と undefined」というコラムの末尾は、次の段落で締めくくられている。
ところで、この null の発音ですが、英単語としては「ナル」です。 日本のプログラマはこれをローマ字読みして「ヌル」と発音する人が非常に多いです。 ぜひ正しい発音で読むようにしてください。
私もつい「ヌル」と発音してしまう。反省している。ところで、p.094 では、JavaScript では文字列型の変数に小数を入れても問題ないことをうけて、 登場人物の一人がこう言っている。
ここよ、ここ。JavaScript がルーズというか、いいかげんなところ。
ルーズは loose のことだと思うが、この英単語は「ルース」と読み、「ルーズ」とは読まない。 あるいは、いいかげんを意味する別の単語なのだろうか。
pp.130-131 では乱数について解説されている。以下、長くなるが引用する。
(前略)まず、Math.random() で 0 ~ 1 の乱数が発生します。それを
Math.random() * 100
で 100 倍することで、0 ~ 100 の乱数が発生することになります。ただし、これは小数です。 それを整数に変換するために、
Math.round()
で四捨五入しています。現段階では、この
Math.round() * 100
が 0 ~ 100 の乱数を発生させる方法だと思ってください。(後略)
まず、 0 ~ 1 の乱数が発生します。
というところがあいまいだ。
正確には、「0 以上 1 未満の乱数が発生します。」というべきだろう。MDN の
Math.random()
(https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/random)
には、そう書かれている。次の 100 倍のところは、0 以上 100
未満の乱数が発生することになる、 と言い直せば正しい。そして、0 以上 100
未満の乱数を Math.round() で四捨五入するとどうなるか。 確かに 0 ~ 100
までの乱数は得られるが、0 以上 100 以下の一様な乱数ではなくなる。
もう少し言葉を足せば、1 以上 99 以下の数字が得られる確率は 1/100 だが、
数字 0 が得られる確率は 1/200 となり、また数字 100 が得られる確率も 1/200
となる。これが一様ではない、という意味だ。では、0 以上 100
未満の一様な乱数を得るにはどうしたらいいか、 というと、上記 Math.random()
のページに、 「包括的に 2
つの値の間のランダムな整数を得る」という項があるので参照するといいだろう。
なお、本書のサポートページにある「お詫びと訂正」 https://book.impress.co.jp/books/1117101136#box-errata の欄のうち、 かなりの数が乱数がらみの訂正部分である。ただし、私が上述したことは考慮されていない。
Chapter 13 は「アプリを作ろう」という章で、BMI
の計算を題材にとっていろいろな手法を紹介している。 そのなかで、p.483 で数値かどうかのチェックは Number オブジェクトの isFinite()
メソッドを使います。
と書いている。実際のコードが pp.479-481 に記載されているので見てみた。
該当の個所は p.480 の上から 3 行目と同じく p.480 の下から 11 行目にある。
ふむ、しかしこれでは Number オブジェクトの isFinite()
ではなくビルトイン関数のほうの isFinite() ではないだろうか。Number
オブジェクトの isFinite ならば、 isFinite(height) とは書かずに
Number.isFinite(height) と書くはずだ。 p.484 では、COLUMN でリスト 13-8 では 2-2 で事前に数値に変換していますので、Number
メソッドの方を利用しています。
とあるのだが、私の見方が悪いのだろうか。
書名 | これから学ぶ JavaScript |
著者 | 齊藤新三 |
発行日 | 2018 年 7 月 21 日 初版 |
発行元 | インプレス |
定価 | 2400 円(本体) |
サイズ | A5 判 494 ページ |
ISBN | 978-4-295-00409-7 |
その他 | 越谷市立図書館で借りて読む |
まりんきょ学問所 > コンピュータについて > コンピュータの本 > JavaScript, altJS > 齊藤新三:これから学ぶ JavaScript