0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

JavaScript勉強メモ5章

Last updated at Posted at 2021-04-19

JavaScript勉強メモ5章

5章数値

  • 浮動小数点数ってなに
    小数点の位置が固定されていない(浮動)数のこと。
    大きな数から小さな数まで表現できる。

  • リテラルってなに
    ルールのこと。例えば

    • 文字リテラル:"この中身は文字として扱われます"
    • 真偽値リテラル:true, false の二つは真偽値です
    • 整数リテラル:42 とか1000 は整数です
    • 浮動小数リテラル:3.14 とか2e8 は小数です
  • 数値リテラル
    整数リテラルと浮動小数リテラルのこと

  • Numberオブジェクト
    数値のラッパークラス。ラッパークラスは3章でやったけどよくわからなかった。プリミティブ型のデータである数値をオブジェクトとして使うとき、なにもせず使えるのはこのNumberオブジェクトがいるかららしい(感謝)

    • Numberオブジェクトの静的プロパティ
      Numberオブジェクトに用意されてる設定みたいなもの。表示はもちろんconsole.logで
    console(Number.MAX_VALUE);
    >> 1.7976931348623157e+308/*扱える最大の数値*/
    
    console.log(Number.MAX_VALUE*2);/*それを2倍したのを表示して*/
    >>Infinity/*無限として扱います(無理)*/
    
  • 数値を指定の基数の形式で文字列に変換する (toStringメソッド)
    日本語でok。以下訳
    (10って2進数で表すといくつだっけ?答えは数値じゃなくて文字列で教えてね)
    ※基数とはこのときの2進数の"2"のこと

    let num = 10; /*numって箱に10っていう数値を入れるよ*/
    console.log(num.toStoring(2))/*numを2進数で表して教えてね*/
    >>1010
    

    numって箱にいちいち入れないとだめなの?
    ←駄目じゃないけどtoString使いたかったら数値をかっこでくくってね

    console.log((10).toString(2));
    >>1010
    
  • 数値を指数形式で文字列に変換する(toExponentialメソッド)
    指数形式でもできる...わかった気になっておきます。
    浮動小数形式だから、勝手に小数点の前の桁数を1にしちゃうらしい。

    let num = 34.5642;
    console.log(num.toExponential(2));/*小数点の前は1桁(固定)、小数点の後ろは()の中の"2"桁で教えてね*/
    >>3.46e+1
    
  • 数値を固定小数点数形式で(toFixed)
    今度は固定小数点形式らしい。小数点の位置は対象の数値と同じまま。

    console.log((34.5642).toFixed(3))/*小数点の位置はそのまま後ろは"3"桁まで教えてね*/
    >>34.564
    
  • 数値の有効桁数を指定して(toPrecisionメソッド)
    有効桁数ってなに
    その数字を指定された桁数で表示するよ。有効数字3桁の例:3.14, 100, 5.68e+3, ...etc

    console.log((5678.9)toPrecision(4);/*5桁の数字を4桁で教えてね*/
    >>5679
    
  • 数値を指定したロケールに応じた形式で文字列に(toLocaleStringメソッド)
    ロケールってなに
    日本だと数値を見やすくするために3桁ごとにカンマ(,)で区切るよね。そういうルールのことらしい()。

    console.log((8242.56).toLocaleString());
    >>8,242.56
    
  • 文字列を整数に変換する(Number.parseIntメソッド)
    今度は文字列を整数の数値にするよ。parseIntのIntは大文字のIを使って(アイ・エヌ・ティー)だよ。Lntにしないように。基数(何進法か)選べるよ。何も指定されなかったら空気読んで10進法にしとくよ。

    console.log(Number.perseInt("9月"));/*文字列"9月"を整数で返してね。*/
    >>9
    console.log(Number.perseInt("month9"));
    >>NaN/*文字列の先頭に数値がないとばぐるよ*/
    
  • 文字列を浮動小数点数に変換する(Number.parseFloatメソッド)
    文字列を浮動小数点数(小数点使って表すよ、小数点の位置は勝手に調整する)にするよ。

    console.log(Number.perseFloat(42.25));
    >>42.25
    
  • 値がNaNかつ数値型であるか調べる(Number.isNaN)
    NaN(Not a Number):数値じゃないものを数値に変換したときの値。
    注意しなきゃいけないのはNaN自体は数値として扱われるということ。(Not a Numberが数値とはこれいかに)
    タイトルのメソッドは引数がNaNかNaNじゃないかの判定を行うよ。
    引数ってなに
    メソッドの対象になる数値や文字列のこと。

    console.log(typeof(NaN));/*NaNは何型のデータか教えてね*/
    >>number/*NaNは数値だよ(哲学)*/
    
    console.log(Number.isNaN(NaN));
    >>true
    console.log(Number.isNaN("apple"))
    >>false
    
  • 値が有限でかつ数値型であるかどうか調べる(Number.isFinite)
    引数が数値じゃなかったらfalse返すよ。数値でもNaNとか無限だったらfalse返すよ。まともな数値ならok。

    console.log(Number.isFinite(100));
    >>true
    console.log(Number.isFinite(Infinity));
    >>false/*無限は帰れ*/
    console.log(Number.isFinite("apple"));
    >>false/*文字列も帰れ*/
    

    仲良しなメソッドにisFiniteがいるよ。これは数値が文字列になってても数値だと判定するよ。

    console.log(Number.isFinite("2"));
    >>false
    console.log(isFinite("2"));
    >>true
    
  • 最後に値が整数かどうか調べるよ(Number.isInteger, Number.isSafeInteger)
    二つともIntegerの頭文字は大文字のI(アイ)だから注意してね。名前の通り引数が整数ならtrue、それ以外ならfalse返すよ。

    console.log(Number.isInteger(100));
    >>true
    console.log(Number.isInteger("100"));
    >>false
    

    二つ目のNumber.isSafeIntegerメソッドは値が整数であっても安全でなければfalse返すよ。安全な整数の定義は理解諦めました()。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?