프로그래밍 언어/JAVA

자바 스크립트의 함수 오버로딩-모범 사례

Rateye 2021. 6. 10. 12:40
728x90
반응형
질문 : 자바 스크립트의 함수 오버로딩-모범 사례

Javascript에서 함수 오버로딩을 가짜로 만드는 가장 좋은 방법은 무엇입니까?

다른 언어에서와 같이 Javascript에서 함수를 오버로드 할 수 없다는 것을 알고 있습니다. foo(x)foo(x,y,z) 두 가지를 사용하는 함수가 필요한 경우 가장 좋은 / 선호하는 방법입니다.

답변

매개 변수로 함수 오버로딩을 수행하는 가장 좋은 방법은 인수 길이나 유형을 확인하지 않는 것입니다. 유형을 확인하면 코드가 느려지고 배열, 널, 객체 등의 재미가 있습니다.

대부분의 개발자는 자신의 메서드에 대한 마지막 인수로 객체를 지정합니다. 이 물체는 무엇이든 담을 수 있습니다.

function foo(a, b, opts) {
  // ...
  if (opts['test']) { } //if test param exists, do something.. 
}


foo(1, 2, {"method":"add"});
foo(3, 4, {"test":"equals", "bar":"tree"});

그런 다음 방법에서 원하는대로 처리 할 수 있습니다. [Switch, if-else 등]

출처 : https://stackoverflow.com/questions/456177/function-overloading-in-javascript-best-practices
728x90
반응형