Number 型を使いこなして、JavaScript プログラミングをレベルアップ!
JavaScript の Number 型について
- 整数と小数を統一的に扱える
- 数値演算や比較演算が使える
- 文字列やオブジェクトに変換できる
- 浮動小数点数表現(IEEE 754 準拠)を使用するため、精度誤差が発生する可能性がある
Number 型の値は、以下の方法で生成できます。
- リテラル表記:例:10、3.14、-5
- 変数への代入:例:const num = 10;
- 数値演算:例:1 + 2 = 3
- 関数の戻り値:例:Math.sqrt(4) = 2
- 文字列からの変換:例:Number("123") = 123
Number 型では、以下の演算が使用できます。
- 算術演算:例:+, -, *, /, %
- 比較演算:例:==, !=, >, <, >=, <=
- 論理演算:例:&&, ||, !
- その他:例:++, --, Math.pow()
Number 型は、以下の方法で他の型に変換できます。
- 文字列への変換:例:num.toString()
- ブール値への変換:例:Boolean(num)
- オブジェクトへの変換:例:new Number(num)
Number 型の注意点
- 浮動小数点数表現を使用するため、精度誤差が発生する可能性がある
- 文字列やオブジェクトに変換する際は、型変換関数を明示的に使用する
- NaN や Infinity などの特殊な値も Number 型として扱われる
JavaScript の Number 型は、数値を扱うための基本的な型です。整数と小数を統一的に扱えるため、さまざまな場面で利用できます。演算や変換など、Number 型の特性を理解して、正しく使用することが重要です。
JavaScript の Number 型 サンプルコード
数値リテラル
// 整数
const num1 = 10;
const num2 = 0;
// 小数
const num3 = 3.14;
const num4 = -0.5;
// 科学表記
const num5 = 1e6; // 1000000
const num6 = 6.626e-34; // 0.000000000000000000000000006626
// 文字列から数値に変換
const num7 = Number("123"); // 123
const num8 = Number("3.14"); // 3.14
数値演算
// 加算
const sum = 1 + 2 + 3; // 6
// 減算
const difference = 10 - 5; // 5
// 乗算
const product = 4 * 5; // 20
// 除算
const quotient = 10 / 2; // 5
// 余り
const remainder = 10 % 3; // 1
// 累乗
const power = 2 ** 3; // 8
// 平方根
const squareRoot = Math.sqrt(9); // 3
数値比較
// 等価
console.log(10 === 10); // true
// 非等価
console.log(10 !== 5); // true
// 大小比較
console.log(10 > 5); // true
console.log(5 < 10); // true
// 大小等価比較
console.log(10 >= 10); // true
console.log(5 <= 10); // true
数値の変換
// 数値を文字列に変換
const str1 = num1.toString(); // "10"
const str2 = num3.toString(); // "3.14"
// 数値をブール値に変換
const bool1 = Boolean(num1); // true
const bool2 = Boolean(num2); // false
// 数値をオブジェクトに変換
const obj1 = new Number(num1); // Number {10}
const obj2 = new Number(num3); // Number {3.14}
// 文字列を数値に変換
const num9 = parseInt("123"); // 123
const num10 = parseFloat("3.14"); // 3.14
// 固定小数点表記に変換
const fixedNum1 = num3.toFixed(2); // "3.14"
const fixedNum2 = num3.toFixed(4); // "3.1415"
その他
// 最大値と最小値を取得
const max = Math.max(1, 2, 3); // 3
const min = Math.min(1, 2, 3); // 1
// 数値を四捨五入
const roundedNum1 = Math.round(3.14); // 3
const roundedNum2 = Math.round(3.56); // 4
// ランダムな数値を取得
const randomNum = Math.random(); // 0から1未満のランダムな数値
// 数値の符号を取得
const sign = Math.sign(-10); // -1
JavaScript の Number 型を操作するその他の方法
ビット演算は、数値のビットレベルで操作を行う方法です。ビット演算子には、以下のものがあります。
&
:ビット積|
:ビット和^
:ビット排他論理和<<
:左シフト>>
:右シフト>>>
:無符号右シフト
ビット演算は、数値の特定のビットを設定またはクリアしたり、数値を2進数に変換したりするなど、さまざまな目的に使用できます。
型変換関数
Number 型に変換する関数には、以下のものがあります。
Number()
: 文字列やオブジェクトを数値に変換します。parseInt()
: 文字列を整数に変換します。
これらの関数は、文字列やオブジェクトを数値に変換する必要がある場合に役立ちます。
Math オブジェクトは、さまざまな数学関数を提供しています。
Math.abs()
: 数値の絶対値を返します。Math.ceil()
: 数値を切り上げて整数にします。Math.floor()
: 数値を切り捨てて整数にします。Math.round()
: 数値を四捨五入します。Math.pow()
: 数値を累乗します。Math.sqrt()
: 数値の平方根を返します。
Math オブジェクトは、数値の演算や計算を行う必要がある場合に役立ちます。
Number プロパティ
Number オブジェクトには、以下のプロパティがあります。
MAX_VALUE
: 最も大きい数値MIN_VALUE
: 最も小さい数値POSITIVE_INFINITY
: 正の無限大NEGATIVE_INFINITY
: 負の無限大NaN
: 数値ではない値
これらのプロパティは、数値の比較や検証を行う必要がある場合に役立ちます。
Number メソッド
Number オブジェクトには、以下のメソッドがあります。
toString()
: 数値を文字列に変換します。toLocaleString()
: 数値をロケールに基づいて文字列に変換します。valueOf()
: 数値の原始値を返します。
これらのメソッドは、数値を文字列に変換したり、ロケールに基づいてフォーマットしたりする必要がある場合に役立ちます。
Number 型を操作するには、さまざまな方法があります。これらの方法を理解することで、JavaScript で数値を効率的に処理することができます。
【完全ガイド】JavaScript Number.isInteger メソッドで整数判定をマスターし、開発効率をアップ!
使い方引数value: 判定対象となる数値戻り値数値が整数であれば true、そうでなければ false例整数判定を簡単に記述できる他の判定方法と比べて処理速度が速いNaN や Infinity は常に false を返す浮動小数点数が整数に変換できる場合でも false を返す (例: 5.0000000000000001)
JavaScript で NaN を安全に判定する方法:Number.isNaN を使うべき理由
NaN とはNaN は、「Not a Number」の略で、数値ではないことを表す特別な値です。例えば、以下の式はすべて NaN を返します。Number. isNaN は、引数として渡された値が NaN かどうかを判定します。Number
Number.number プロパティを使いこなしてワンランク上の JavaScript 開発者へ
数値リテラルの型を確認するtypeof 演算子を使用して数値リテラルの型を確認すると、常に "number" と返されます。しかし、Number. number プロパティを使用すると、より詳細な型情報を得ることができます。上記のように、Number
Number.MIN_SAFE_INTEGER を理解して JavaScript の精度制限を克服する
Number. MIN_SAFE_INTEGER を理解するには、以下の点を押さえることが重要です。安全な整数とは?JavaScript は、64ビット浮動小数点数形式で数値を表現します。しかし、この形式には整数表現の精度制限があり、52ビットしか使用できません。そのため、2^53 - 1 より大きい整数または -(2^53 - 1) より小さい整数は、正確に表現できない可能性があります。
オブジェクトリテラルとコンストラクター関数:オブジェクト作成の2つの方法
オブジェクトは、プロパティ と メソッド の集まりです。プロパティ は、名前と値のペアで構成されます。名前は文字列で、値は数値、文字列、配列、関数など、さまざまなデータ型を持つことができます。メソッド は、オブジェクトが実行できるアクションです。関数のように動作し、引数を受け取り、値を返すことができます。
エラー処理マスターへの道! AggregateError.aggregateError とその他の方法を使いこなす
AggregateError. aggregateErrorは、複数のErrorオブジェクトを受け取り、それらを1つのAggregateErrorオブジェクトにまとめる静的メソッドです。AggregateError. aggregateErrorの使い方
EvalError.evalErrorの回避と安全なコード記述: JavaScriptエラー処理のベストプラクティス
EvalError. evalError が発生する主な理由は以下の通りです。eval() 関数が非推奨または無効化されている環境: 多くの現代的なブラウザでは、セキュリティ上の懸念から eval() 関数が無効化されています。このような環境で eval() 関数を実行しようとすると、EvalError
JavaScript AggregateError.errors プロパティの徹底解説
概要AggregateError は、複数のエラーを1つのエラーオブジェクトにまとめるための JavaScript の組み込みオブジェクトです。AggregateError. errors プロパティは、そのエラーオブジェクトに含まれる個々のエラーの配列です。
JavaScript の Errors: Cant use nullish coalescing unparenthesized の詳細解説
しかし、この演算子を使用する際に、**"Cant use nullish coalescing unparenthesized"**というエラーが発生する場合があります。これは、nullish coalescing演算子の優先順位が他の演算子よりも低いことが原因です。
JavaScriptの Object.seal メソッド:オブジェクトを封印する方法
概要Object. sealメソッドは、JavaScriptオブジェクトを封印するためのものです。封印されたオブジェクトは、以下の操作に対して変更を拒否します。新しいプロパティの追加既存のプロパティの削除プロパティの記述子の変更 (構成可能、書き込み可能、削除可能など)