1. named function declaration (명명 함수 선언)
function hello() {
// ...
}
현재 내가 재직하는 회사에서 제일 많이 사용하는 방법이자 가장 대중적임
호이스팅이 되기 때문에 이 함수는 어느 스코프에서든 호출 할수 있음
2. anonymous function expression (익명 함수 표현)
var hello = function () {
//...
}
hello.name
// > "hello"
hello
// > ƒ () {
// //...
// }
이름이 없는 함수를 변수에 담은 방식이다.
이름이 없는 함수긴 한데, 자바스크립트 엔진이 자동으로 이름을 변수명으로 추정하여 넣는다.
변수 할당은 호이스팅 되지 않으므로, 할당 된 이후에만 실행 가능하다.
3. named function expression (명명 함수 표현)
var hello = function originalName() {
// ...
}
2번과 동일한데 다른 점은 함수 이름이 명확하게 선언되어 있다.
4. Immediately-invoked expression (즉시 실행 표현)
var myCounter = (function (initialValue = 0) {
let count = initialValue
return function () {
count++
return count
}
})(1)
myCounter() // 2
myCounter() // 3
myCounter() // 4
외부 함수에서 넘겨준 1을 가지고, 내부에서 처리를 하여 리턴하고 있다.
5. function constructor
const adder = new Function('a', 'b', 'return a + b')
adder(2, 6)
// 8
이런식으로는 거의 사용하지 않는다.
6. arrow function (화살표 함수)
const f1 = (x, y, z) => x + y + z
const f2 = (x, y, z) => {
return x + y + z
}
요즘들어 많이 사용하는 함수다.
'프로그래밍 > JavaScript' 카테고리의 다른 글
Javascript 파일업로드 input 태그 multiple 사용시 FileList 동적으로 변경하기 (0) | 2023.01.08 |
---|---|
javascript & jQuery 요소 찾기 정리 (0) | 2023.01.08 |
JQuery serialize( ), serializeArray( ), serializeObject( ) 사용법 (0) | 2023.01.05 |
제이쿼리 특정 단어로 시작하는 객체 찾아오기 (0) | 2022.09.21 |
자바스크립트 데이터 속성 'data-' & 제이쿼리로 데이터 가공 (0) | 2022.09.19 |