"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > JavaScript의 메소드 오버로딩

JavaScript의 메소드 오버로딩

2024-11-08에 게시됨
검색:940

method overloading in javaScript

JavaScript, 메서드 오버로딩(예: Java 또는 C#과 같은 언어)은 함수가 하나의 정의만 가질 수 있기 때문에 직접 지원되지 않습니다. 그러나 JavaScript는 동적이므로 다음과 같은 기술을 사용하여 오버로드를 모방할 수 있습니다.

인수 개수 또는 유형을 확인하는 중입니다.

기본 매개변수 사용.
인수 또는 나머지 매개변수를 사용합니다.
다음은 오버로딩 동작을 구현하는 몇 가지 방법입니다.

1. 인수 객체 사용

`함수 추가() { if (arguments.length === 1) { 반환 인수[0]; // 단일 인수 } else if (arguments.length === 2) { 반환 인수[0] 인수[1]; // 두 개의 인수 } } console.log(add(5)); // 5 console.log(add(5, 10)); // 15`
`function add() {
  if (arguments.length === 1) {
    return arguments[0];  // Single argument
  } else if (arguments.length === 2) {
    return arguments[0]   arguments[1];  // Two arguments
  }
}
console.log(add(5));       // 5
console.log(add(5, 10));   // 15`
arguments는 함수에 전달된 모든 매개변수를 보유하는 배열과 유사한 객체입니다.

인수 수에 따라 다른 논리를 수행합니다.

2. 유형 검사를 통한 오버로딩

`기능 Greeting(이름) { if (이름 유형 === "문자열") { console.log(`안녕하세요, ${name}!`); } else if (Array.isArray(이름)) { console.log(`안녕하세요, ${name.join(", ")}!`); } } Greeting("앨리스"); // 안녕, 앨리스! Greeting(["앨리스", "밥"]); // 안녕하세요, 앨리스, 밥!`
`function greet(name) {
  if (typeof name === "string") {
    console.log(`Hello, ${name}!`);
  } else if (Array.isArray(name)) {
    console.log(`Hello, ${name.join(", ")}!`);
  }
}

greet("Alice");           // Hello, Alice!
greet(["Alice", "Bob"]);  // Hello, Alice, Bob!`

릴리스 선언문 이 글은 https://dev.to/munna_thakur_2019444f0351/method-overloading-in-javascript-1dg2?1 에서 복제되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3