Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- winston
- puppeteer
- JWT
- javascript
- 프로그래머스
- css
- Spring
- 인접리스트
- Linux
- GraphQL
- Interceptor
- TIL
- typescript
- node.js
- Kubernetes
- Deep Dive
- bean
- 자료구조
- OOP
- dfs
- MySQL
- html
- 인접행렬
- 코딩테스트
- nestjs
- LifeCycle
- REST API
- java
- 탐욕법
- 알고리즘
Archives
- Today
- Total
처음부터 차근차근
함수와 Scope 본문
728x90
함수는 왜 사용하는가?
- 반복적으로 나오는 어떠한 코드를 반복해서 쓰는게 아니라, 함수를 지정함으로써 코드의 재사용성과 좀 더 깔끔하게 코드를 작성할 수 있도록 해줌
JS에서 함수 정의하기
// 1. 함수 선언문
function add(x, y) { // 소괄호 안에 매개변수가 들어간다.
// 함수 내부에서 실행할 로직
return x + y; // 함수의 값을 return 한다는 의미
}
// 2. 함수 표현식
let add2 = function(x, y) {
return x + y;
}
// 함수를 호출한다 = 사용한다
// 함수명() = add(input)
function 함수명(parameter) {} 로 함수를 정의하거나, let을 통해 함수를 정의 할 수 있다.
함수 호출하기
함수가 정의되어 있는경우, 호출해보자.
let add2 = function(x, y) {
return x + y;
}
console.log(add2(10,20)); // argument : 전달인자 -> 함수에 x,y를 전달해준다
값은 20가 나올것이다.
※ JS에서는 함수도 하나의 타입(datatype)이다.
따라서 함수를 변수에 대입하거나, 함수에 property를 지정하는 것도 가능
and JS 함수는 다른 함수 내에 중첩되어 정의될 수도 있다.
JS 화살표 함수
- ES6 신문법
// 1-1 기본적인 화살표 함수
let add = (x, y) => {
return x + y;
}
console.log(add(2, 3)); // 5
// 1-2 한줄로도 쓸 수 있다.
let add2 = (x, y) => x + y; // 중괄호 안에 로직이 한 줄일 경우
console.log(add(2, 3)); // 5
// 1-3 매개변수가 하나인 화살표 함수
let square = x => x * x;
console.log(square(3)); // 9
Scope란??
scope는 변수가 영향을 미치는 범위, 혹은 변수의 유효 범위
1. 전역 스코프
- 블록 바깥이나 함수 바깥에 선언 된 변수
- 어떤 위치의 코드에서든 사용할 수 있는 변수
let x = 10;
function printX() {
console.log(x);
}
printX(); // 10
2. 지역변수
- 함수 내, 아니면 어디 내부에서만 사용되는 변수
2-1 함수 스코프
- 함수 스코프는 말 그대로 함수 내부에서 선언된 변수
- 함수 내부에서만 접근할 수 있다.
function printX() {
let x = 10;
console.log(x);
}
// console.log(x); 전역에는 x가 없으므로, 오류 발생
printX(); //
2-2 블록 스코프
- 말 그대로 블록{}, if문, for문 블록 내부에서 선언된 변수.
- 블록 내부에서만 접근 가능
(var은 내부에서 선언해도 바깥에서 접근 사용이 가능하다.)
if (true) {
let x = 10;
console.log(x);
}
console.log(x); // ReferenceError: x is not defined
스코프에 대해서(전역스코프, 지역스코프)
스코프에 대해 알아봅시다
velog.io
'Language > JavaScript' 카테고리의 다른 글
객체 메소드 (0) | 2023.05.24 |
---|---|
조건문, 반복문 (1) | 2023.05.24 |
연산자 (0) | 2023.05.22 |
변수와 데이터 타입 (0) | 2023.05.22 |
Fetch 사용하기(Get 사용하기) (0) | 2023.05.04 |