[JavaScript] 변수의 적용범위와 함수

민아·2022년 2월 13일
0
post-thumbnail

📕 변수의 적용범위

📖 스코프(scope)

  • 변수를 선언하고 사용할때 변수가 적용되는 범위

📖 호이스팅(hoisting)

  • 변수를 해당 스코프의 선두로 옮긴 것처럼 동작하는 특성
  • 자바스크립트는 모든 선언을(ver,let,const,function,class..)를 호이스팅 한다. 스코프와 호이스팅의 개념은 따로 정리

📖 지역 변수(local variable)

  • 변수를 선언한 함수에서만 사용할 수 있는 변수
  • 함수 안에서 변수를 선언할 때 var 예약어 사용

📖 전역 변수(global variable)

  • 스크립트 소스 전체에서 사용할 수 있는 변수
  • 함수 밖이라면 var 키워드를 사용해서 변수 선언
  • 함수 내에서 전역 변수를 선언하려면 var 키워드 없이 선언 var를 붙이면 지역 변수가 된다.

예제

void add(int a,int b) {	
	int sum = a+b;
}

// 자바의 경우 매개변수의 값으로 변수의 타입을 정해준다.
// 자바스크립트의 경우 실행할때 변수에 저장된 데이터 타입을 동적으로 바꿀수 있다
// '동적 타입 언어'
// 지역변수에 var 예약어를 선언하지 않으면 전역변수가 되어 함수 밖에서도 실행가능
// 어질어질하다

📖 익명함수

  • 이름이 없는 함수
  • 함수 자체가 식(Expression)이기 때문에 1. 함수를 변수에 할당하거나 2. 다른 함수의 매개변수로 사용할 수도 있음.

예제

//1. 함수를 변수 add에 할당
var add = function(a,b) { //함수 선언 후 변수 add에 할당
  return a + b;
}
//2. 익명함수를 참조하는 add 변수의 값을 매개변수로 전달
var sum = add (10,20); //익명 함수 실행 후 결괏값(a+b)을 변수 sum에 저장
console.log(sum) //변수 sum의 값 30

📖즉시 실행 함수

  • 함수를 정의함과 동시에 실행하는 함수
  • 즉시 실행 함수는 변수에 할당할 수 있고 함수에서 반환하는 값을 변수에 할당할 수도 있음.

예제

var result = (function(a,b) {
	return a + b;
} (10,20));
console.log(result);
//익명함수 function에 (10,20) 를 매개변수로 result 변수에 바로 전달
//console.log로 즉시 실행

📖 이벤트

  • 웹 브라우저나 사용자가 행하는 동작
  • 사용자가 웹 문서 영역을 벗어나 하는 동작은 이벤트가 아님
  • 이벤트리스너: 어떤 이벤트가 실행되는지 메세지를 받고 실행

이 부분은 더 공부가 필요할듯

📕함수

📖 함수

  • 사용자 정의 함수 : 사용자가 필요한 기능을 직접 만든 함수
  • 자바스크립트 코어 함수: 자바스크립트가 기본적으로 제공하는 함수를 코어 함수라고 한다.

📖 함수의 사용방법

  • 일반 함수: 일반적으로 사용한 함수
  • 중첩 함수: 함수에 안에 함수가 있는 경우 중첩함수라고 한다. 외부 함수와 내부 함수가 아주 밀접한 관계일때 사용하는 것이 좋다.
  • 콜백 함수: 함수 실행결과 값을 리턴이 아닌 매개변수로 넘어온 함수를 호출해서 넘겨주는 방식을 콜백이라고 하며 이때 매개변수로 넘어온 함수를 콜백함수라 한다. 함수의 결과값을 외부로 보낼때 체인처럼 연결해서 주로 사용. (로직의 구현 부분에서 나온 결과값을 다른 함수로 전달!)
  • 클로저 함수: 함수의 생명주기에 따라 진행되지 않고 함수가 실행된 뒤에도 함수가 사라지지 않고 남는 현상을 클로저라고 하며 이러한 현상을 일으키는 함수를 클로저 함수라 한다.
profile
그냥 꾸준히 하는중

0개의 댓글