SMALL
함수
- 자주 쓰는 실행코드를 블록단위로 묶어놓은것
- 기능단위로 재사용하기 위해서...
- 선언하기는 function키워드 사용하거나 arrow function
- 호출 : 정의되어있는 함수는 호출해야 비로소 기능이 실행됨
함수의 종류
1.선언적 함수 : 이름을 붙여서 정의한 함수
- 자바스크립트를 읽을 때 우선적으로 읽어줌
- 호출 위치가 자유롭다
hap();
function hap() {
console.log("선언적 함수");
}
2.익명 함수 : 이름없이 정의한 함수 - 콜백함수 - 중요 - Event
- 자체로 호출 불가
- 변수에 익명함수를 대입하거나 특정 이벤트 객체에 대입해서 호출
3.대입형 함수 : 변수에 익명함수가 대입된 형태 - *일급함수랑 *고차함수
더보기
일급 함수
함수를 다른 변수와 동일하게 다루는 언어는 일급 함수를 가졌다고 표현합니다. 예를 들어, 일급 함수를 가진 언어에서는 함수를 다른 함수에 인수로 제공하거나, 함수가 함수를 반환할 수 있으며, 변수에도 할당할 수 있습니다.
function sayHello() {
return "Hello, ";
}
function greeting(helloMessage, name) {
console.log(helloMessage() + name);
}
// `sayHello`를 `greeting` 함수에 인자로 전달
greeting(sayHello, "JavaScript!");
고차 함수
함수를 반환하는 함수를 고차 함수라고 부릅니다.
- 리액트 리덕스 컨셉을 재현할 때 필요
- 구독발행 모델 구현해 볼 때
- 커리함수
- 리액트 리덕스 컨셉을 재현할 때 필요
- 구독발행 모델 구현해 볼 때
- 커리함수
function sayHello() {
return function () {
console.log("Hello~");
};
}
const myFunc = sayHello();
myFunc();
const minus = function (a, b) {
const num1 = 2;
const num2 = 1;
document.write(num1 + num2);
document.write("<br/>");
document.write(a + b);
};
minus(5, 8);
4.즉시실행함수 : 함수가 자기자신을 정의하자마자 바로 자신 호출함
(function (x) {
//실행부 - 변수 선언(var -> parcel 설정 -> let, const)
//제어문, 로직
//document는 즉시실행함수.html문서 전체를 받는 내장객체
//내장객체란 브라우저 안에 정의되어 있어서
//필요시 생성없이 브라우저로부터 객체 주입이 됨
// const MyCar = new Sonata()
document.write("test" + x);
})(50000);
더보기
즉시 실행함수
:호이스팅 이슈 해결하는 방법
:특정 원치않는 공간으로 그 값이 빠져나가지 못하게 할 때
:즉시실행함수 안쪽의 값들을 캡슐화할 때 사용
괄호 2개
-첫째 함수의 정의 부분
-두번째 함수 호출하는 괄호
[Arrow Function]
: 기존의 익명함수를 좀 더 쓰기 쉽게 축약한 형태임
: 내부로 전달되는 파라미터가 하나면 괄호는 생략 가능함
자바스크립트는 같은 이름의 함수를 중복정의 X → 자바와의 차이
why? 메소드 오버로딩이 없기 때문!
결론 : 함수의 이름은 무조건 다르게 작명함.
'Javascript' 카테고리의 다른 글
eval 함수 (0) | 2023.10.17 |
---|---|
[자바스크립트] 즉시실행함수 (0) | 2023.02.01 |
[자바스크립트] 호이스팅 (0) | 2023.02.01 |
[자바스크립트] 프로토타입 (0) | 2023.02.01 |
[자바스크립트] 변수 (0) | 2023.02.01 |
댓글