Written by coh at home
[자바스크립트] 함수 본문
자바스크립트 함수의 특징.
- 자바스크립트 함수는 일급객체. 즉, 함수는 값처럼 취급될 수 있습니다. 따라서 변수 할당, 인자 할당, 반환값 등으로 사용이 가능합니다.
const hello = function() {
return 'hello!';
}
console.log(hello()); // hello!
const executor = function(func) {
return func();
}
console.log(executor(hello)); // hello!
- 익명함수와 함수 표현식
이름없는 함수인 익명함수는 함수표현식에서 주로 사용됩니다.
const add =function(a,b) { return a+ b; }
console.log(add(3,5)); // 8
const sub = (a,b) => { return a-b; }
console.log(sub(3,5)); // -2
- 호이스팅
함수 선언식을 통해 선언된 함수는 실행 전에 호이스팅되어 선언 이전에 호출할 수 있습니다. 반면, 함수 표현식은 변수에 할당된 후에 사용이 가능합니다.
// 함수선언식은 호이스팅 됩니다.
console.log(hello()); // 가능
function hello() { return 'hello'; }
// 함수표현식은 할당이후에 사용가능.
const world = function() { return 'world!'; }
console.log(world());
- 클로저
클로저는 함수가 자신이 선언된 환경(스코프)를 기억하고 해당 환경에 접근할 수 있는 특징입니다.
const outFunction = function out() {
const outVar = 'out!!';
return function in() {
return outVar;
}
}
console.log(outFunction()); // out!!
- 고차함수
일급객체는 함수가 값처럼 취급될 수 있다는 것입니다. 다른 함수를 인자로 받거나 반환하는 함수를 정의할 수 있습니다.
function minus(arg1) {
return function (arg2) {
return arg1 - arg2;
}
}
const first = minus(3);
console.log(first(2)) // 3-2 = 1
- 화살표함수
간결한 문법 제공. 가독성이 높아집니다. 화살표 함수는 선언된 위치의 this값을 유지합니다.
const test = {
value:3,
method: fucntion () {
setTimeout(() => {
console.log(this.value); // 3
}, 500);
}
}
test.method();
출처 : 매일메일
'신입살아남기 > JS + Html + Css' 카테고리의 다른 글
[html] 폼태그 (1) | 2024.12.02 |
---|---|
[Html] html리뷰 (2) | 2024.12.02 |
[JS] 캘린더 - 1 select만들기 (0) | 2024.11.20 |
[JS] 캘린더 사전지식 (0) | 2024.11.17 |