자바스크립트 함수 앞에 느낌표(!) 사용법
함수 표현식 만들기:
함수 앞에 느낌표를 붙이면 함수 선언문이 아닌 함수 표현식으로 만들어집니다. 함수 표현식은 값으로 할당하거나 다른 표현식과 함께 사용할 수 있는 자바스크립트 객체입니다.
예를 들어, 다음 코드는 함수 표현식을 사용하여 greet
라는 함수를 만듭니다.
const greet = !function() {
console.log('안녕하세요!');
};
greet(); // 안녕하세요! 출력
즉시 실행 함수:
함수 표현식을 만들 외에도 느낌표는 즉시 실행 함수를 만드는 데에도 사용됩니다. 즉시 실행 함수는 선언 즉시 실행되는 함수입니다.
예를 들어, 다음 코드는 즉시 실행 함수를 사용하여 "안녕하세요!"를 콘솔에 출력합니다.
!(function() {
console.log('안녕하세요!');
})(); // 안녕하세요! 출력
주의 사항:
- 느낌표를 사용하여 함수를 선언하면 함수 호이스팅이 일어나지 않습니다. 즉, 함수를 선언하기 전에 함수를 호출하면 오류가 발생합니다.
- 즉시 실행 함수는 코드를 간결하게 만들 수 있지만, 코드 가독성을 저하시킬 수 있습니다. 따라서 명확하고 이해하기 쉬운 코드를 작성하는 데 유의해야 합니다.
느낌표 사용의 장점:
- 코드를 압축할 수 있습니다.
- 간단한 함수를 빠르고 쉽게 만들 수 있습니다.
- 함수 호이스팅이 일어나지 않습니다.
- 코드 가독성을 저하시킬 수 있습니다.
자바스크립트 함수 앞에 느낌표(!) 사용 예제 코드
// 함수 표현식을 사용하여 변수에 할당
const greet = !function() {
console.log('안녕하세요!');
};
greet(); // 안녕하세요! 출력
// 함수 표현식을 다른 표현식과 함께 사용
const message = `안녕하세요! ${!function() {
return '환영합니다.';
}}`;
console.log(message); // 안녕하세요! 환영합니다. 출력
// 즉시 실행 함수를 사용하여 "안녕하세요!" 출력
!(function() {
console.log('안녕하세요!');
})(); // 안녕하세요! 출력
// 즉시 실행 함수를 사용하여 값 반환
const result = !(function() {
return 10;
})();
console.log(result); // 10 출력
조건부 실행:
// 조건에 따라 즉시 실행 함수 실행
const isLoggedIn = true;
if (isLoggedIn) {
!(function() {
console.log('환영합니다!');
})();
} else {
console.log('로그인이 필요합니다.');
}
오류 처리:
// 오류 발생 시 즉시 실행 함수 실행
try {
console.log(someFunction());
} catch (error) {
!(function() {
console.error('오류 발생:', error);
})();
}
참고:
- 위 예제 코드는 자바스크립트 함수 앞에 느낌표를 사용하는 다양한 방법을 보여줍니다.
- 실제 상황에 따라 적절한 방법을 선택해야 합니다.
- 코드 가독성을 유지하기 위해 명확하고 이해하기 쉬운 코드를 작성하는 것이 중요합니다.
function functionName(parameter1, parameter2) {
// 함수 본문
}
함수 표현식:
const functionName = function(parameter1, parameter2) {
// 함수 본문
};
두 방법 모두 동일한 기능을 제공하지만, 몇 가지 주요 차이점이 있습니다.
함수 호이스팅:
- 함수 선언문은 함수 호이스팅이라는 특성을 가지고 있습니다. 즉, 함수 선언은 코드의 맨 위로 올라가는 것처럼 작동합니다.
- 반면에 함수 표현식은 호이스팅되지 않습니다. 즉, 함수 표현식이 선언된 위치에서만 사용할 수 있습니다.
범위:
- 함수 선언문은 함수가 선언된 블록 범위 밖에서도 사용할 수 있습니다.
명명:
- 함수 선언문은 반드시 함수 이름을 지정해야 합니다.
- 반면에 함수 표현식은 함수 이름을 생략할 수 있습니다.
사용 시나리오:
- 함수 선언문은 다음과 같은 경우에 사용하는 것이 좋습니다.
- 함수를 코드의 다른 부분에서 사용할 경우
- 함수 이름을 사용하여 함수를 명확하게 식별해야 하는 경우
- 함수 표현식은 다음과 같은 경우에 사용하는 것이 좋습니다.
- 간단하고 익명의 함수를 만들 경우
- 함수를 변수에 할당하거나 다른 표현식과 함께 사용하는 경우
느낌표(!)를 사용하면 함수 표현식을 만들 수 있으며, 즉시 실행 함수를 만드는 데에도 사용할 수 있습니다.
javascript function