【JS】関数から複数の値を返す
JS逆引きレシピ本、126(P204)。
関数から戻り値を複数指定する場合のメモ。というか、配列で返せばいいというのは想像がつくので、どちらかというと受け取り側の処理について。
戻り値の指定はreturn文で書くので、厳密には値は一つしか戻せない。
そのため、戻したい各値を要素とした一つの配列にして返す。
function getArea (width, height) { let squareArea = width * height; let circleArea = width * width * Math.PI; return [squareArea, circleArea]; }
上記は、値を2つ渡すと、それを縦横サイズとした矩形の面積と、第一引数を半径とした円の面積を返す関数。
メモしておきたいのは、受け取る側の処理。
普通に配列として受け取ってもよいが、はじめから分割して受け取ったほうがあとの処理が楽。
そのため、以前こちらで書いた、分割代入構文を使用する。
【JS】分割代入構文 - NACの勉強の経過を綴るところ
let [sqArea, cclArea] = getArea[5, 10]; colsole.log(sqArea); // 50; colsole.log(cclArea); // 78.5398;
分割代入構文のことがちゃんと身に沁みていないと、スッと出てこない気がするので、めも。