상세 컨텐츠

본문 제목

JavaScript - 함수의 오버로딩과 호이스팅

개발/JavaScript

by 뉴에이스 2018. 11. 28. 14:46

본문

함수의 오버로딩과 호이스팅

- 함수의 오버로딩을 지원하지 않는다.
- 동일한 이름의 함수가 여러개 있을 때는 덮어쓰기 방식으로 처리된다.
- 함수 호출시 매개변수의 개수는 호출에 영향을 주지 않는다. (매개변수의 갯수가 아닌 이름으로 찾는다)

소스
"use strict";

var fn = function() {
  console.log(0);
};
fn();
function fn() {
  console.log(1);
}
fn();
function fn() {
  console.log(2);
}
fn();
function fn(num1, num2, num3) {
  console.log(3);
}
fn(1, 2, 3);

호이스팅과정
- 선언시
var fn
function fn () { console.log(1); }
function fn () { console.log(2); }
function fn (num1, num2, num3) { console.log(3); }

- 실행시
fn = function () { console.log(0); };  // fn의 값이 0으로

fn();
fn();
fn();
fn(1, 2, 3); // 매개변수 관계없이 fn으로 찾아 0의 값을 출력

결과
0
0
0
0


관련글 더보기

댓글 영역