Programing

JavaScript 함수의 기본 인수 값

lottogame 2020. 4. 21. 08:17
반응형

JavaScript 함수의 기본 인수 값


가능한 중복 :
자바 스크립트 함수에 매개 변수의 기본값을 설정하는 방법

PHP에서 :

function func($a = 10, $b = 20){
  // if func() is called with no arguments $a will be 10 and $ b  will be 20
}

JavaScript로 어떻게 할 수 있습니까?

함수 인수에 값을 할당하려고하면 오류가 발생합니다

) 공식 매개 변수 이후


자바 스크립트에서는 매개 변수없이 함수를 호출 할 수 있습니다 (매개 변수가있는 경우에도).

따라서 다음과 같이 기본값을 추가 할 수 있습니다.

function func(a, b){
   if (typeof(a)==='undefined') a = 10;
   if (typeof(b)==='undefined') b = 20;

   //your code
}

func();기본 매개 변수를 사용 하는 것처럼 호출 할 수 있습니다 .

테스트는 다음과 같습니다.

function func(a, b){
   if (typeof(a)==='undefined') a = 10;
   if (typeof(b)==='undefined') b = 20;

   alert("A: "+a+"\nB: "+b);
}
//testing
func();
func(80);
func(100,200);

ES2015 이후 :

ES6 / ES2015부터 언어 사양에 기본 매개 변수가 있습니다. 우리는 다음과 같은 간단한 일을 할 수 있습니다.

function A(a, b = 4, c = 5) {
}

또는 결합 ES2015의 destructuring ,

function B({c} = {c: 2}, [d, e] = [3, 4]) {
}

자세한 설명은

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/default_parameters

기본 함수 매개 변수를 사용하면 값이 없거나 정의되지 않은 경우 공식 매개 변수를 기본값으로 초기화 할 수 있습니다 .

ES2015 이전 :

NOT Numbers, Strings, Boolean NaN, 또는 값을 처리하려는 경우 null간단히 사용할 수 있습니다

(따라서 보내지 않을 객체, 배열 및 함수의 null경우 사용할 수 있습니다)

param || DEFAULT_VALUE

예를 들어

function X(a) {
  a = a || function() {};
}

이 외모 간단하고 좀 작동하지만, 이것에 한정하고 있기 때문에 반 패턴이 될 수 ||있는 모든 falsy 값에서 작동 ( "", null, NaN, false, 0) 너무 - 불가능이 방법은 PARAM에게 인수로 전달 된 falsy 값을 할당 할 수있다.

따라서 undefined값만 명시 적으로 처리하기 위해 선호되는 접근 방식은 다음과 같습니다.

function C(a, b) {
  a = typeof a === 'undefined' ? DEFAULT_VALUE_A : a;
  b = typeof b === 'undefined' ? DEFAULT_VALUE_B : b;
}

인수가 정의되어 있지 않은지 확인해야합니다.

function func(a, b) {
    if (a === undefined) a = "default value";
    if (b === undefined) b = "default value";
}

또한이 질문은 전에 답변 되었습니다 .


나는 그것이 JavaScript에서 그런 식으로 한 것을 본 적이 없다. 매개 변수를 생략하면 기본값이 할당되는 선택적 매개 변수가있는 함수를 원하는 경우 다음과 같은 방법으로이를 수행 할 수 있습니다.

 function(a, b) {
      if (typeof a == "undefined") {
        a = 10;
      }

      if (typeof b == "undefined") {
        a = 20;
      }

      alert("a: " + a + " b: " + b);
    }

function func(a, b)
{
  if (typeof a == 'undefined')
    a = 10;
  if (typeof b == 'undefined')
    b = 20;
  // do what you want ... for example
  alert(a + ',' + b);
}

속기

function func(a, b)
{
  a = (typeof a == 'undefined')?10:a;
  b = (typeof b == 'undefined')?20:b;

  // do what you want ... for example
  alert(a + ',' + b);
}

기능 매개 변수에 대한 기본값을 추가 할 수 없습니다. 그러나 당신은 이것을 할 수 있습니다 :

function tester(paramA, paramB){
 if (typeof paramA == "undefined"){
   paramA = defaultValue;
 }
 if (typeof paramB == "undefined"){
   paramB = defaultValue;
 }
}

참고 URL : https://stackoverflow.com/questions/6486307/default-argument-values-in-javascript-functions

반응형