JavaScript
解決したいこと
JSで同じ引数で異なる結果を2通り表示させたい。
自分で試したこと
const English= (a,b,c)=>{
let result = a+b+c && a-b-c;
return result;
}
console.log(English(1,2,3));
0
JSで同じ引数で異なる結果を2通り表示させたい。
const English= (a,b,c)=>{
let result = a+b+c && a-b-c;
return result;
}
console.log(English(1,2,3));
JSで「関数から複数の値を返したい」ということであれば、
オブジェクトないし配列として1つの値にまとめたらいいです。
例は単純化しました。
オブジェクトなら、
// 定義
const f = (x, y) => {
return {sum: x + y, sub: x - y};
};
// 一行で書くと
// const f = (x, y) => ({sum: x + y, sub: x - y});
// 呼び出し
const result = f(1, 2);
console.log(result.sum, result.sub)
// 分割代入
const {sum, sub} = f(1, 2);
console.log(sum, sub);
配列なら、
// 定義
const f = (x, y) => {
return [x + y, x - y];
};
// 一行で書くと
// const f = (x, y) => [x + y, x - y];
// 呼び出し
const result = f(1, 2);
console.log(result[0], result[1])
// 分割代入
const [sum, sub] = f(1, 2);
console.log(sum, sub);
配列として返してあげれば,2つの戻り値を返してあげることができます.
const English = (a, b, c) => {
return [a + b + c, a * b * c];
};
console.log(English(2, 3, 5));
[ 10, 30 ]
また,分割代入
という手法を用いて,2つの戻り値を別々の変数に受け取ることもできます.
const English = (a, b, c) => {
return [a + b + c, a * b * c];
};
let [ret1, ret2] = English(2, 3, 5);
console.log(ret1);
console.log(ret2);
10
30