변수의 영향 범위에 따라 전역변수, 지역변수로 나뉘며
이를 스코프가 크다, 스코프가 작다고 표현한다.
변수가 전체 영역에서 영향을 끼칠 수 있다면 전역변수이다
예를 들어
let x = 10;
function printX() {
console.log(x);
}
console.log(x); // 출력: 10
printX(); // 출력: 10
// let x = 10이라는 변수가 함수 printX에도 영향을 끼쳤고
// 함수 밖console.log에서도 영향을 끼쳤으니 이는 전역변수이다.
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 에서는 영향을 끼치지 못했다.
// 따라서 이 변수는 지역변수이다.
기존 함수 문법 예시
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;