반응형
IIFE (즉시 실행 함수 표현식)
"Immediately Invoked Function Expression"의 약어로 정의 되자마자 즉시 실행되는 함수다.
- 임시 객체를 이용하여 함수의 선언과 동시에 호출하는 기법
- 여러 개의 <script>에 대한 독립성 보장(이름 충돌 등)
▶ 형식
(function() { })()
<body>
<script>
(function(n)
{
console.log(n)
})(5)
//5
</script>
</body>
<body>
<script>
(function()
{
const two = function(n)
{
return n * 2
}
const one = 1
console.log(two(one))
})()
//2
</script>
</body>
▶ 충돌 회피
사용자 'A'와'B'가 pi를 다르게 정의하였을 때 즉시 호출로 해결할 수 있다.
strict mode (엄격 모드)
- 문법 사용에 대한 규칙 강화.
- 일반적으로 즉시 호출에 use strict사용, 다른 코드 블록 간의 간섭 방지.
- strict mode를 사용했다고 해서 자신의 코드가 견고 해지는 것이 아니다.
▶ 형식
'use strict'
▶ 예시
엄격 모드 비사용
<body>
<script>
(function()
{
x = 10;
console.log(x)
})()
//10
</script>
</body>
엄격 모드 사용
<body>
<script>
'use strict'
(function()
{
x = 10;
console.log(x)
})()
//Uncaught TypeError: "use strict" is not a function
</script>
</body>
구버전의 호환성은 버려야 한다.
반응형
'JavaScript' 카테고리의 다른 글
[JavaScript] object type(객체형) +예제 (0) | 2022.04.12 |
---|---|
[JavaScript] 함수 호출시 주의사항(선언함수 vs 익명함수), Hoisting (0) | 2022.04.12 |
[JavaScript] Method Chaining (메서드 체인) (0) | 2022.04.12 |
[JavaScript] Arrow function Expression (화살표 함수) (0) | 2022.04.12 |
[JavaScript] Callback function(콜백 함수), forEach, map, filter (0) | 2022.04.12 |