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
'Programing' 카테고리의 다른 글
Go에서 JSON 포스트 요청 처리 (0) | 2020.04.21 |
---|---|
BigDecimal이 0보다 큰 경우 비교 (0) | 2020.04.21 |
IntelliJ 10.5에서 테스트를 실행할 때“NoSuchMethodError : org.hamcrest.Matcher.describeMismatch”가 표시됨 (0) | 2020.04.21 |
힘내 : 지점에서 모든 커밋을 스쿼시하는 방법 (0) | 2020.04.21 |
로그인시 ssh-agent 시작 (0) | 2020.04.21 |