1008 TIL(パラメータとパラメータ)

14109 ワード


今日もワイティエ!!!
参考:JavaScriptチュートリアルYouTubeを手動でエンコードする
もっと深く関数を学びましょう
function printBanana(){
  console.log("banana");
}
printBanana();
上のコードはfrintBannaという関数を宣言し、printBanna()に変換します.これにより、呼び出しはコンソールウィンドウにBannaという文字列を出力します.しかし、ここでBannaという文字列を出力したいが、appleという文字列を出力したい場合は、どうすればいいのでしょうか.
function printApple(){
  console.log("apple");
}
printApple();
上記のように簡単にコードを作成できます.このようにコードを記述するとprintBannaという関数が出力されるとBannaという関数が出力されます.printAppleという名前の関数を出力すると、appleという名前の関数が出力されます.私が出力する果物名の関数を適切に呼び出すことができますよね?
しかし、この方法には致命的な欠点がある.それは、異なる果物名を出力しようとするたびに、同じフォーマットの関数を複数作成する必要があります.
たとえば、果物名を持つ関数が大量に存在すると仮定します.メロン/マンゴー/オレンジ/イチゴなど...
異なる果物名を出力するために、同じフォーマットの関数を印刷するように、メンテナンスの観点からもパフォーマンスの観点からもよくないコードを宣言します.
したがって,この場合,関数を呼び出すときに関数にデータを渡すことで,これらの欠点を解決することができる.
関数を呼び出すと、任意のデータを関数に渡すことができます.
function printFruit(name){
  console.log(name);
}
printFruit('banana'); //문자열 'banana'를 함수로 전달
function printFruit(name){
condores.log(name);
このセクションでは、カッコ内で任意の変数に名前を付けることができます.
この変数名を使用して関数を呼び出すと、入力されたデータが使用されます.
そういう意味だしたがってprintFruit関数では、nameという変数名に関数を呼び出すときに渡される値が含まれます.
このコードではbananaが出力されます.

コードに戻って、さっき書いたコードを簡単に修正します.
function printFruit(name){
  console.log(name);
}
printFruit('banana');
さっきのように直接呼び出すのではなく、関数を呼び出すときprintFruit(「banaa」)です.このようにデータを転送します.ここではprintFruit関数にbananaという文字列が渡されます関数を呼び出すときに渡されるデータが、関数を宣言するときにカッコ内で変数に名前を付けた場合、関数を呼び出すときに渡されるデータはカッコ内の変数に入ります.
したがって、この変数の名前は、関数の領域でカッコ内で使用できます.コンソール部分は手動で記録された文字列bananaです.log(name); このように変数の名前で置き換えると、その後、私たちはこのように関数を書きます.
function printFruit(name){ // 2. banana라는 값이 name에 들어감
  console.log(name); // 3. 최종적으로 결과는 'banana'가 나옴
}
printFruit('banana'); // 1. 이 함수를 호출하게 되면
バナナの出力がよく見えます.
私たちはこのように関数を書くことで、他の果物を出力したいなら
function printFruit(name){
  console.log(name);
}
printFruit('banana');
printFruit('apple');
バナナとリンゴを別々に輸出しているのが見えます.したがって,前述したように,異なる果物名を出力するために,同じフォーマットの関数を複数印刷するように使用する必要はない.非常に有用な形態です
ここで、データは1つだけ渡すことはできません.渡すデータの数(,)に従って渡すと、宣言関数の1つまたは2つにデータを渡すことができます.数に制限されません.
function printFruit(name, price) {
  console.log(name+"는 "+ price +"원 입니다.");
}
printFruit('banana', 2000);
最初のbananaという文字列をカッコ内の最初の変数に格納し、カンマで表される2番目の数字の2000をカッコ内のpriceという変数に格納します.したがって、このコードを実行すると、
「バナナは2000元」出力します.
また、この関数に渡す形式は、前に学習したすべてのJavaScriptで使用可能なデータ型に渡すことができます.
function printFruitArr(arr) { // 매개변수
 console.log(arr[0]+"는 "+ arr[1] +"원 입니다."); 
}
printFruitArr(['banana', 2000]); // 인수

function printFruitObj(obj) { // 매개변수
 console.log(obj.name +"은 "+ obj.price +"원 입니다.");
}
printFruitObj({name:'apple', price:3000}); // 인수
配列として渡すか、上のコードに示すようにオブジェクトとして渡すことができます.
JavaScriptで使用可能なすべてのデータ形式をこの関数に渡すことができます.
関数を呼び出すときにデータに渡される部分をパラメータと呼びます.
宣言関数の一方から渡されるパラメータを得るために、任意の変数を作成する部分をパラメータと呼びます.

ドアに戻ってちょっと待ってください。

function sum(number1, number2){
  return number1 + number2;
}

const sum_result_1 = sum(10, 20); // 30 반환
const sum_result_2 = sum(20, 30); // 50 반환

const sum_result = sum_result_1 + sum_result_2; // 30 + 50 

console.log('총 합은 '+ sum_result + "입니다."); // 80
return文を作成すると、書き換え可能な値が返されます.したがって、別の変数に入れるか、別の変数に入れることができます.
でも.
function printReturn() {
  console.log('return 실행 전');
  return;
  console.log('return 실행 후');
}
printReturn();
値が指定されていない場合にreturn文を単独で書き込むと、return文の後ろのコードは数行のコードでも実行されないことを示します.