방법 1. function 함수이름 {}
function fun1() {
return true;
}
function fun1(a,b) {
return a+b;
}
파싱하는 단계에서 함수가 정의된다.
방법 2. var a = 함수 (익명함수)
var fun2_1 = function() {
return true;
}
var fun2_2 = function(a,b) {
return a+b;
}
변수에 함수를 할당한다.
런타임 단계에서 함수가 정의된다.
그렇기 때문에, 방법 1과 다르게 함수 선언 순서에 따라 함수가 잘 작동하지 않을 수 있다!
방법3. Function을 이용한 객체로서의 선언
var fun3 = new Function("a", "b", "a+b");
잘 안쓰인다고 한다.
방법4. 화살표함수
var fun4_1 = () => {
return true;
}
var fun4_2 = (a,b) => {
return a+b;
}
let food = {
name: "pizza",
foodprint: function() {
setTimeout(() => {
console.log(this.name)
}, 2000)
}
}
화살표 함수는 방법2와 같아보이지만
this 를 바깥쪽 함수에 접근해서 가져오기 때문에 위 예시와 같은 상황에서 유용하다.
참고
https://velog.io/@ki_blank/JavaScript-%ED%99%94%EC%82%B4%ED%91%9C-%ED%95%A8%EC%88%98Arrow-function(화살표함수)
728x90
'Web > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 모듈 시스템을 마스터 해보자 (0) | 2022.08.06 |
---|---|
[JS] 디바운싱(Debouncing)과 쓰로틀링(Throttling) (1) | 2021.06.05 |
[JS] event.preventDefault() 간단 설명 😊/ preventDefault란? (3) | 2020.01.19 |
[JS] Arrow Function / 화살표 함수란 ❓ (0) | 2020.01.08 |
댓글