JavaScript 스코프, 전역변수, 지역변수, 화살표함수

ctrs·2023년 5월 23일
0
post-custom-banner

변수의 영향 범위에 따라 전역변수, 지역변수로 나뉘며
이를 스코프가 크다, 스코프가 작다고 표현한다.


1. 전역변수

변수가 전체 영역에서 영향을 끼칠 수 있다면 전역변수이다
예를 들어

let x = 10;

function printX() {
console.log(x);
}

console.log(x); // 출력: 10
printX(); // 출력: 10

// let x = 10이라는 변수가 함수 printX에도 영향을 끼쳤고
// 함수 밖console.log에서도 영향을 끼쳤으니 이는 전역변수이다.


2. 변수가 함수 내에서만 영향알 끼칠 수 있다면 지역변수

function printX() {
let x = 10;
console.log(x);
}

console.log(x);
printX();
// 실행 시 에러 발생

// 에러 문구
// C:(파일경로)\week_1\09.js:7
// console.log(x);
// ^
// ReferenceError: x is not defined

// 파일의 7번째 라인에 에러가 발생하였고
// x가 정의되지 않았다는 의미이다.

// 변수 x가 함수 printF 에서는 영향을 끼쳤지만
// console.log 에서는 영향을 끼치지 못했다.
// 따라서 이 변수는 지역변수이다.


3. 화살표 함수
ES6 신 문법이다. 기존 함수 문법에 완전히 익숙해진 뒤 사용하자

기존 함수 문법 예시

function add (x, y) {
return x + y
}
console.log(add(2,3)) // 출력: 5

3-1. 기본적인 화살표 함수

let arrowFunc01 = (x, y) => {
return x + y
}

console.log(arrowFunc01(2,3)) // 출력: 5

3-2. 한 줄로 적으면?

let arrowFunc02 = (x, y) => x + y;
console.log(arrowFunc02(2,3)) // 출력: 5
// 단 함수로 수행하는 로직이 복잡하다면 생략이 안될 수 있다.

예시 2)
기존 문법 함수

function testFunc(x) {
return x;
}

화살표 함수

let arrowFunc03 = x => x;

profile
저장을 습관화
post-custom-banner

0개의 댓글