- 전역변수(Global Variable)
주로 페이지 로딩 시점에 실행되며, global 영역에 정의된 자원들은 어디에서나 사용 가능하다.
- 지역변수(Local Variable)
함수의 중괄호 안에 속해 있는 영역이다.
Local 영역 안에 정의된 자원들은 해당 local 영역 안에서만 사용할 수 있고, Local 영역 안에서 바깥 영역에 정의된 자원들을 사용할 수 있다.let globalVar = "Global"; function myFunc() { let localVar = "local"; } myFunc();
👉 전역변수와 지역변수는 사용가능 영역에 차이가 있다.
👉 지역변수는 전역변수보다 우선순위가 높다!
- undefined를 리턴하는 함수
function test(){ console.log("test() 호출됨"); }
- number type을 리턴하는 함수
-변수 안에 있는 값을 변수명으로 리턴할 수도 있다.
-리턴할 데이터를 참조하면 자동으로 참조된 값이 리턴된다.function getNum(){ console.log("getNum() 호출됨"); return 999; } function getNum2(){ let num = 999; console.log("getNum() 호출됨"); return num; }
- string type을 리턴하는 함수
function getName(){ console.log("getName() 호출됨"); return "현근"; } function getName2(){ let name = "현근"; console.log("getName() 호출됨"); return "name"; }
- boolean type을 리턴하는 함수
function isEven(){ console.log("isEven() 호출됨"); return true; }
- object type을 리턴하는 함수
function getMember(){ console.log("getMember() 호출됨"); let mem = {num:1, name:"황현근", addr:"강남"}; return mem; }
- array type을 리턴하는 함수
function getFriends(){ console.log("getFriends() 호출됨"); let friends=["김구라", "해골", "원숭이", "주뎅이", "덩어리"]; return friends; }
Debug console
function(msg){ };
- 함수 호출시 데이터를 입력받는 기능을 말한다.
- function(msg)에서 msg는 매개변수이다.
- 함수에 전달되는 값을 전달 받을 변수이며, let을 선언하지 않는다.
- 매개 변수는 해당 함수 안에서만 사용할 수 있다.
- msg 에 뭐가 들어갈지 모르는데 call 하는 시점에 결정됨.
(타입을 고정할 수 없음)let printMsg = function(msg){ console.log("---------"); console.log(msg); console.log("---------"); }; printMsg("hello"); printMsg("bye");
- 두 개의 매개변수를 갖는 함수
let printSum=function(num1, num2){ let sum=num1+num2; console.log(num1+" 과 "+ num2 + " 의 합은 "+sum); } printSum(10, 20);
- 매개변수로 전달된 값이 function type이라는 가정 하에 사용되는 함수
let useFunc=function(f){ f(); }; useFunc(function(){ console.log("하나"); console.log("둘"); console.log("셋"); }); useFunc(()=>{ console.log("호출됨!"); });
- 1. 산술 연산자
number type 데이터를 연산할 때 사용한다.
+, -, *, /, % (나머지 연산자)let result1 = 10 + 1; let result2 = 10 - 1; let result3 = 10 * 10; let result4 = 10 / 2; let result5 = 10 % 3; ------------------------------------------------------- let num1=10; let num2=1; // 산술연산을 할 때 숫자가 들어 있는 변수명으로 할 수도 있다. let result6 = num1+1; let result7 = num1%3; let result8 = num1-num2; ------------------------------------------------------- //object 혹은 array에 들어 있는 데이터를 이용해서 연산을 할 수도 있다. let obj={first:10, second:20}; let arr=[10, 20, 30]; ------------------------------------------------------- let result9=1+obj.first; let result10=10*arr[1];
- 2. 논리 연산자
논리(boolean) 값을 연산해주는 연산자
- and 연산자 &&
연산에 참여하는 boolean 값이 모두 true면 결과는 true.let result1 = false && false; //false let result2 = false && true; //false let result3 = true && false; //false let result4 = true && true; //true
- or 연산자 ||
연산에 참여하는 boolean 값이 하나라도 true면 결과는 true.let result5 = false || false; //false let result6 = false || true; //true let result7 = true || false; //true let result8 = true || true; //true
- !
논리값을 반전시키는 not 연산자이다.
읽을 때는 "~가 아니면" 이라고 읽으면 된다.let result9 = !true; //false let result10 = !false; //true let isRun = confirm("달릴건가요?"); let isWait = confirm("기다릴건가요?");
- 3. 대입 연산자
= : 우측에 있는 값을 좌측에 대입
+= : 우측에 있는 값을 좌측에 있는 원래 값에 더해서 대입
-= : 우측에 있는 값을 좌측에 있는 원래 값에 빼서 대입
*= : 우측에 있는 값을 좌측에 있는 원래 값에 곱해서 대입
/= : 우측에 있는 값을 좌측에 있는 원래 값에 나눠서 대입
%= : 우측에 있는 값을 좌측에 있는 원래 값에 나눈 나머지 값을 대입let num1 = 100; ----------------------------------------- let num2 = 100; //num2=num2+10; //위의 표현을 줄여서 작성하면 아래와 같다. num += 10; ----------------------------------------- let num3 = 100; //num3 = num3-10; num3 -= 10; ----------------------------------------- let num4 = 100; //num4=num4*10; num4 *= 10; ----------------------------------------- let num5 = 100; //num5=num5/10; num /= 10; ----------------------------------------- let num6=100; //num6=num6%3; num6 %= 3;
- 4. 비교 연산자
== : 같은지 비교
!= : 다른지 비교
: 큰지 비교
= : 크거나 같은지 비교
< : 작은지 비교
<= : 작거나 같은지 비교비교 연산자로 주로 하는 작업
- 문자열의 내용이 같은지 다른지 비교
- 숫자의 크기 비교
- 숫자가 같은지 다른지 비교
- 논리값이 같은지 다른지 비교
- 문자열의 알파벳 순서 혹은 가나다 순서 비교
- 문자열의 내용 비교
let myName = "김구라" let isEqual = myName == "김구라"; //true let isDifferent = myName != "해골"; //true
- 숫자의 크기 비교
let myNum = 100; let isBigger = myNum > 50; //true let isSmaller = myNum < 200; //true
- 숫자가 같은지 다른지 비교
let yourNum = 100; let isNumEqual = yourNum == 101; //false let isNumDiff = yourNum != 101; //true
- 논리값 비교
let isRun = true; let result = isRun == true; //true let result2 = isRun != false; //true
- 알파벳, 가나다 순서
let result3 = "a" < "b"; //true let result4 = "가" > "나"; //false
- 5. 증감 연산자
변수의 값을 1씩 증가시키거나 1씩 감소시키는 연산자값을 1씩 증가시키는 것을 Increment 연산자,
값을 1씩 감소시키는 것을 Decrement 연산자라고 한다.
이름 사용법 설명 Increment x++ or ++x 변수의 값을 1씩 증가시킴 Decrement x-- or --x 변수의 값을 1씩 감소시킴 let num = 0; //num = num+1; //num += 1; num++; ----------------------------------------- let num2 = 0; //num = num-1; //num -= 1; num--; ----------------------------------------- let num3 = 0; ++num3; num3++;
- 6. 삼항 연산자
3개의 항을 연산해서 결과 값을 얻어내는 연산자let result1 = true ? "하나" : "둘"; let result2 = false ? "하나" : "둘"; ----------------------------------------- let result3 = true ? 10 : 20; let result4 = false ? 10 : 20; ----------------------------------------- let isWait = confirm("기다릴까요?"); let msg = isWait ? "기다리겠습니다." : "바로 출발합니다.";