[TIL]モダンJavaScript Deep Dive-Marth


第29章.Math
標準的に構築されたオブジェクトとして、Mathは数学的定数と関数の構成と方法を提供します.Mathはコンストラクション関数ではありません.したがって、Mathは静的propertyおよび静的方法のみを提供する.
さいだいげんど
Math.PI
円周率PIの値を返します.
Math.PI // 3.141592653589793
しゅほうしき
Math.abs
Math.absメソッドは、パラメータとして渡される数値の絶対値を返します.絶対値はゼロまたは正の値でなければなりません.
Math.abs(-1); // 1
Math.abs('-1'); // 1
Math.abs(''); // 0
Math.abs([]); // 0
Math.abs(null); // 0
Math.abs(undefined); // NaN
Math.abs({}); // NaN
Math.abs('string'); // NaN
Math.abs(); // NaN
Math.round
Math.roundメソッドは整数を返し,整数の小数点は因数の下で四捨五入する.
Math.round(1.4); // 1
Math.round(1.6); // 2
Math.round(-1.4); // -1
Math.round(-1.6); // -2
Math.round(1); // 1
Math.round(); // NaN
Math.ceil
Math.Ceilメソッドは、整数の小数点以下の整数を返します.小数点を上に進むとより大きな整数になります.たとえば、1.4の小数点を2に、-14の小数点を-1に下げます.
Math.ceil(1.4); // 2
Math.ceil(1.6); // 2
Math.ceil(-1.4); // -1
Math.ceil(-1.6); // -1
Math.ceil(1); // 1
Math.ceil(); // NaN
Math.floor
Math.floorメソッドは、ファクタによって伝達される数値小数点以下の整数を返します.Math.Ceil法の逆概念.
Math.sqrt
Math.sqrtメソッドは、因数として伝達される数値の平方根を返します.
Math.sqrt(9); // 3
Math.sqrt(-9); // NaN
Math.sqrt(2); // 1.414213562373095
Math.sqrt(1); // 1
Math.sqrt(0); // 0
Math.sqrt(); // NaN
Math.random
Math.randomメソッドは乱数を返します.Math.randomメソッドで返される数値は0から1以下の実数です.すなわち、0は含まれているが、1は含まれていない.
Math.random(); // 0에서 1 미만의 랜덤 실수(0.8208720231391746)

/*
1에서 10 범위의 랜덤 정수 취득
1) Math.random으로 0에서 1 미만의 랜덤 실수를 구한 다음, 10을 곱해 0에서 10 미만의 랜덤 실수를 구한다.
2) 0에서 10 미만의 랜덤 실수에 1을 더해 1에서 10 범위의 랜덤 실수를 구한다.
3) Math.floor로 1에서 10 범위의 랜덤 실수의 소수점 이하를 떼어 버린 다음 정수를 반환한다.
*/
const random = Math.floor(Math.random() * 10 + 1);
console.log(random); // 1에서 10 범위의 정수
Math.pow
Math.pow法は,第1の引数をベースとし,第2の引数を指数反復二乗とした結果を返す.
Math.pow(2, 8); // 256
Math.pow(2, -1); // 0.5
Math.pow(2); // NaN
Math.max
Math.maxメソッドは、渡されたパラメータの最大数を返します.パラメータが渡されていない場合は、-Ifinityを返します.
Math.max(1); // 1
Math.max(1, 2); // 2
Math.max(1, 2, 3); // 3
Math.max(); // Infinity
Functionは配列を引数として渡し、配列内の要素から最大値を取得します.prototype.applyメソッドまたはスプレッドシート構文を使用する必要があります.
// 배열 요소 중에서 최대값 취득
Math.max.apply(null, [1, 2, 3]); // 3

// ES6 스프레드 문법
Math.max(...[1, 2, 3]); // 3
Math.min
Math.minメソッドは、伝達されたパラメータの最小数を返します.パラメータが渡されていない場合はInfinityを返します.
Math.min(1); // 1
Math.min(1, 2); // 1
Math.min(1, 2, 3); // 1
Math.min(); // Infinity