-
함수 선언문, 함수 표현식, 화살표 함수javascript 2023. 3. 28. 18:56반응형
* 함수 선언문
- 어디서든 호출 가능
function sayHello(){ console.log("Hello"); } sayHello(); //또 다른 예시 sayHello();//위에서도 호출 가능함 function sayHello(){ console.log("Hello"); } //코드 실행 가능 이유 : 자바스크립트 내부 알고리즘 때문에, 자바스크립트는 실행전 초기화 단계에서 코드의 모든 함수선언문을 찾아서 생성해놓음, 즉 저 함수를 사용할 수 있는 범위가 넓어짐 : 호이스팅
* 함수 표현식
- 자바스크립트가 한줄씩 읽으면서 실행
- 해당 코드에 도달하면 생성
- 그래서 그 이후에만 사용 가능 = 호출 위치를 위로 바꾸면 실행되지 않음
let sayHello = function(){ console.log("Hello"); } sayHello();
* 화살표 함수
- function 단어가 사라지고 괄호 뒤쪽에 =>이 생겨
/*인수가 하나일 때*/ let sayHello = function(name){ `Hello, ${name}`; } //화살표 함수로 바꾸면 let sayHello = (name) => { `Hello, ${name}` }; //괄호 생략 가능 let sayHello = name => `Hello, ${name}`; //------------------------------------------------------------------------------------------- /*인수 두개일 때*/ let add = function(num1, num2){ return num1 + num2; } //화살표 함수로 바꾸면 let add = (num1, num2) => { return num1 + num2; } //retrun문은 ()로 바꿀 수 있음 let add = (num1, num2) => ( num1 + num2; ) //retrun문이 한줄이라면 ()도 생략 가능 let add = (num1, num2) => num1 + num2; //retrun문이 있더라고 해도 return문 전에 여러줄의 코드가 있을 경우 ()로 바꿀 수 없음 let add = function(num1, num2){ const result = num1 + num2; return result; } let add = (num1, num2) => { const result = num1 + num2; return result; } //------------------------------------------------------------------------------------------- /*인수가 없을 때*/ let showError = function(){ alert("error"); } //화살표 함수로 바꾸면 let showError = () => { alert("error"); } //이때는 괄호를 생략할 수 없음
반응형'javascript' 카테고리의 다른 글
객체 Object의 method와 this (0) 2023.03.28 객체 Object (0) 2023.03.28 전역변수, 지역변수 (0) 2023.03.28 함수 function (0) 2023.03.28 반복문 (0) 2023.03.28