ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • #JavaScript Grammar_스코프 및 화살표 함수
    Javascript 2023. 10. 16. 16:48

    # 스코프(Scope)란? 

    - 프로그래밍에서 변수와 함수의 유효 범위를 나타내는 개념

    - 변수가 어디서부터 어디까지 유효한지, 즉 어디에서 변수를 참조할 수 있는지를 결정함. 

    - 코드 냐에서 변수와 함수의 가시성과 접근성을 관리하며 변수의 이름이 충돌하지 않도록 도와줌.

     

    1) 전역스코프(Global Scope)

    프로그램 전체에서 변수와 함수를 접근할 수 있는 범위를 나타냄.

    전역 스코프에서 선언된 변수는 프로그램이 실행되는 동안 살아있으며 어디서든 사용할 수 있음. 

    let x = 10; // 전역 변수
    
    function printX() {
        console.log(x);
    }
    
    console.log(x); // 결과: 10
    printX(); // 결과: 10

     

    2) 지역스코프(Local Scope)

    주로 함수 내에서 사용되며 해당 함수 내에서 변수와 함수를 접근할 수 있는 범위를 나타냄.

    함수 내에서 선언된 변수는 해당 함수 내에서만 유효하며 외부에서는 접근할 수 없음. 

    function printX() {
        let x = 10; // 지역 변수
        console.log(x);
    }
    
    printX(); // 결과: 10

     

    3) 블록스코프(Block Scope)

    중괄호 `{ }`로 둘러싸인 코드 블록안에 변수를 선언했을 때 해당 변수가 블록 내에서만 유효한 범위를 가짐. 

    블록은 중괄호 `{ }`로 둘러쌓인 코드 영역을 의미함. 

    주로 조건문 (`if`,`for`, `while` 등)내에서 변수를 선언할 대 사용됨 .

    if (true) {
        let x = 10; // 블록 스코프 내에서 선언된 변수
        console.log(x); // 결과: 10
    }
    
    console.log(x); // 결과: ReferenceError - x는 더 이상 정의되지 않았습니다.

     


     

    # 화살표 함수(Arrow Functions)란?

    - ECMAScript6(ES6)부터 도입된 함수 선언 방식 중 하나로,함수를 간결하게 정의할 수 있는 문법. 

    - 함수를 선언하는 데 사용되며, 주로 익명 함수(anonymous function)나 간단한 함수를 정의할 때 많이 활용함. 

     

    #화살표 함수의 주요 특징

    1. 간결한 문법: 화살표 함수는 코드를 간결하게 작성할 수 있으며, 특히 한줄로 함수를 정의할 때 유용함.

    2. `this`의 동작: 화살표 함수는 자체의 `this`를 가지지 않고, 부모 스코프의 `this`를 상속받음. 이로 인해 함수 내부에서 `this`를 사용할 때 발생하는 일반 함수와 다른 동작을 함. 

    3. 매개변수: 화살표 함수는 매개변수가 하나인 경우 괄호를 생략 가능하며 매개변수가 없는 경우 괄호를 사용함.  

     

    1) 기본적인 화살표 함수(Basic Aroow Function)

    화살표 함수를 사용하여 함수를 선언할 수 있음. 이러한 함수는 간결하게 작성됨.

    `return`키워드를 사용하여 값을 반환할 수 있음. 

    let add = (x, y) => {
        return x + y;
    };
    console.log(add(2, 3)); // 결과: 5

     

    2) 한줄로 된 화살표 함수(Single-Line Arrow Function)

    함수 내부에 `return`문이 한줄로 작성될 경우, 중괄호와 `return` 키워드를 생략할 수 있음. 

    let arrowFunc01 = (x, y) => x + y;
    console.log(add(2, 3)); // 결과: 5

    - but 객체에 여러개가 들어있으면 중괄호를 생략할 수 없음.

    let arrowFunc02 = (x, y) => {
        console.log();
        console.log();
        console.log();
        return x + y
    };  
    //한줄로 사용 불가능

     

    3) 매개변수가 하나인 화살표 함수(Arrow Function with Single Parameter)

    매개변수가 하나인 경우, 괄호를 생략할 수 있음. 

    let arrowFunc03 = (x) => x; //매게변수가 한개일 땐 
    let arrowFunc03 = x => x; //이렇게도 사용가능!
    let square = x => x * x;
    console.log(square(3)); // 9

    화살표 함수는 주로 간단한 함수에서 사용되며, 다른 함수 내에서 콜백 함수나 이벤트 핸들러로 사용될 때 특히 유용함. 하지만 주의해야 할 점은 화살표 함수는 자체의 this를 가지지 않고, 부모 스코프의 this를 상속받기 때문에 함수 내에서 this를 사용할 때 주의가 필요.

     

     

    'Javascript' 카테고리의 다른 글

    #JavaScript Grammar_조건문(2) 중첩  (1) 2023.10.16
    #JavaScript Grammar_조건문(1)  (0) 2023.10.16
    #JavaScript Grammar_함수  (0) 2023.10.16
    #JavaScript Grammar_연산자  (0) 2023.10.16
    #JavaScript Grammar_형 변환  (0) 2023.10.16
Designed by Tistory.