혼공/혼공 4주차

[혼공] 혼자 공부하는 자바스크립트 4주차 -5

만갱0l 2024. 1. 27. 16:44

오늘은 즉시 호출 함수와 엄격모드에 대해 알아보자!

 

즉시 호출 함수란?

필요에 따라 일회성으로 사용되는 함수로 함수 선언과 동시에 곧바로 함수를 호출한다.  선언과 동시에 함수가 실행되며 함수명 함수명이 없기에 재호출을 할 수 없다.

 

(function () {

    자바스크립트 코드;

 } ();

즉시 호출 함수를 사용해 본적이 없어서 코드 작성하는데 어려움이 있었다...

 

변수가 존재하는 범위를 스코프라 한다. 단계가 있을 경우 충돌이 일어나며 스코프 단계를 변경하는 방법은 중괄호를 사용해 블록을 만들거나, 함수를 생성해서 블록을 만들어야 한다.

 

블록이 다른 경우 내부 변수가 외부 변수를 가리는 현상을 섀도잉이라 한다.


엄격모드란?

use strict라는 문자열을 사용하여 일어드린 순간부터 코드를 엄격하게 검사하는 것이다.

 

' use strict '

문장

문장 

 

엄격모드는 변수 let 키워드 등으로 선언하지 않았는 데 사용했다고 오류가 발생한다.

엄격모드를 사용하지 않고 했을때에 오류가 발생하지 않고 잘 실행이 된다.

 

use strict 를 사용하면 오류가 발생한다. .

 

즉시호출 함수를 만들고 엄격모드를 적용하는 경우도 많다. 

 

(function () {

     'use strist'

      문장

      문장 

 })()


확인문제!

 

1) filter 함수의 콜백 함수 부분을 채워서 1. 홀수만 추출, 2. 100 이하의 수만 추출, 3. 5로 나눈 나머지가 0인 수만 추출해 주세요. 그리고 코드의 실행 결과를 적어보세요.

 

1. 홀수만 추출

 

2.100 이하의 수만 추출

 

3. 5로 나눈 나머지가 0인 수만 추출