NACの勉強の経過を綴るところ

個人的なコードの勉強

【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;


分割代入構文のことがちゃんと身に沁みていないと、スッと出てこない気がするので、めも。