Written by coh at home

[자바스크립트] 함수 본문

신입살아남기/JS + Html + Css

[자바스크립트] 함수

och 2024. 12. 15. 00:04

자바스크립트 함수의 특징.

  1. 자바스크립트 함수는 일급객체. 즉, 함수는 값처럼 취급될 수 있습니다. 따라서 변수 할당, 인자 할당, 반환값 등으로 사용이 가능합니다.
const hello = function() {
    return 'hello!';
}
console.log(hello()); // hello!

const executor = function(func) {
    return func();
}
console.log(executor(hello)); // hello!
  1. 익명함수와 함수 표현식
    이름없는 함수인 익명함수는 함수표현식에서 주로 사용됩니다.
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
  1. 호이스팅
    함수 선언식을 통해 선언된 함수는 실행 전에 호이스팅되어 선언 이전에 호출할 수 있습니다. 반면, 함수 표현식은 변수에 할당된 후에 사용이 가능합니다.
// 함수선언식은 호이스팅 됩니다.
console.log(hello()); // 가능
function hello() { return 'hello'; }

// 함수표현식은 할당이후에 사용가능.
const world = function() { return 'world!'; }
console.log(world());
  1. 클로저
    클로저는 함수가 자신이 선언된 환경(스코프)를 기억하고 해당 환경에 접근할 수 있는 특징입니다.
const outFunction = function out() {
    const outVar = 'out!!';
    return function in() {
        return outVar;
    }
}
console.log(outFunction()); // out!!
  1. 고차함수
    일급객체는 함수가 값처럼 취급될 수 있다는 것입니다. 다른 함수를 인자로 받거나 반환하는 함수를 정의할 수 있습니다.
function minus(arg1) {
    return function (arg2) {
        return arg1 - arg2;
    }
}

const first = minus(3);
console.log(first(2)) // 3-2 = 1
  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