MofuMofu2 / typescript-sandbox

MIT License
0 stars 0 forks source link

初めてのTypeScript 2章 型システム #78

Closed MofuMofu2 closed 1 week ago

MofuMofu2 commented 1 week ago

URL

2-1-1

メンバーという単語がわからなかった。Objectに紐づく値をメンバーと呼ぶことがわかった。 Sample.testtestの部分。

2-3

進化するany evolving any という単語は初めて聞いた。初期値anyの場合、値の代入で型推論が上書きされる。 この状態を進化するanyと表現する。基本Linterで禁止されることが多いか。

2-3-1

アノテーションは基本書きたくない旨書かれていた。理由はメンテ中に型が変わったとき再度修正が必要だったり、素で記載しないといけなくて面倒だから。ここはtypescript-eslintの思想と合わないか。個人的にも見てわかるものはIDE補助で事足りると考える。

2-4

import / export 構文がないファイルはスクリプトとして扱われる。これは知らなかった。 スクリプトとして扱われた場合はグローバルで一意になっていなければならない。

その他

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toPrecision

この精度がわからなかったのでGPTに質問した。

Number.prototype.toPrecision() メソッドが返す「指定された精度で表現された数値の文字列」について詳しく説明します。

精度の概念

返される文字列の形式

  1. 通常の数値形式:

    • digits が数値の桁数に満たない場合、整数部分の後に小数点以下が続く形で表示されます。
    • 例: 123.456.toPrecision(5)"123.46" になります。これは、元の数値から小数点以下を切り捨てた結果です。
  2. 科学的記数法:

    • digits が1または数値の桁数が非常に大きい場合、結果は科学的記数法で表示されることがあります。
    • 例: 123.456.toPrecision(1)"1e+2" になります。この場合、数値の桁数が1なので、1とその10のべき乗(100)で表現されています。

具体的な例

まとめ

toPrecision() メソッドは、数値を指定した精度で文字列として表現するために非常に柔軟です。小数点以下の桁数や桁数が大きい場合には自動的に科学的記数法を選択し、適切なフォーマットを提供します。これにより、数値を見やすく、必要に応じてコンパクトに表示することができます。

利用どころは小数点が細かい時にどこまでを有効数字にするか、みたいなときにフォーマットができる点。 でも1を指定すると結果が科学的記数法になってしまうのでどうなんだろう。