const : 상수를 만드는 것 실제 예시
바뀌거나 대체되지 않았으면 하는 값들을 만들 때 쓰임. const id = "ddeok"
cosnt password = "0105"
만약 변수를 바꾸려고 시도한다면... ➞ password = "1234"
Console창 : TypeError...

Javascript 에서 var를 먼저 사용하고 있었다. 

2015년에 Javascript ES2015(ES6)로 업그레이드 되면서 기존에 var의 이슈를 보완 하면서 나온 것이 let 이다.  

 

 

기존에 사용했던 var의 문제점을 아래서 다뤄 보겠다. 


<알아야할 개념 - 호이스팅>

js 엔진은 선언해둔 변수를 미리미리 조사해 놓는다. (따로 뽑아 가서 기억을 한다)

나중에 a를 선언할 때 그 변수를 최상단으로 올리는 것을 일컷는다. 


1. 모든 코드는 Top to Bottom 플로우로 흘러가지만 var는 예외가 많다. 

기본적으로 변수 선언을 먼저 하고 결과값을 도출한다. 

var a = 1
var name = "ddeok"
var age = 20

console.log(age)

하지만 먼저 선언 되어야 하는 변수 전에 console.log가 먼저 나오면...

(1) console.log(a)
var a = 1
console.log(a)
Console창에는
➞ undefined (?)
1

여기서 ➞ undefined 이 에러 대신 나오는 이유는 호이스팅 개념 때문이다. 

호이스팅 시 변수의 선언과 (undefined 으로)초기화를 같이 시켜 버리기 때문이다. 

다시 말해, 호이스팅은 위 설명처럼 자바스크립트 엔진이 사전에 작성 해둔 변수를 모두 기록하는 '습성' 때문에 (1) console.log(a)를 에러로 버리지 않고 가지고 있다가 a 변수가 나오면 그재서야 할당 하는 것이다. 

 

만약 선언(var,const,let)을 하지 않는다면...

console.log(a)
a = 1 // 선언하지도 않음
var a // 뒤 늦게서야 따로 선언 함

console.log(a)
Console창에는
➞ undefined (?)
1

모든 것을 용서 해주는 자바스크립트, 일단 변수 가지고 있는다. 

 

2. var는 전역변수와 지역별수의 개념이 확실하지 않다. 


<알아야할 개념 - 전역변수>

블락{} 밖에서 선언을 한 어디서든 쓰일 수 있는 변수이다. 

 

<알아야할 개념 - 지역변수>

블락{} 안에서 선언된 변수이며, 블락 안에서만 쓸 수 있다. 


 

 

반응형

기본 연산자

연산자 사용 예 실제 예시
+ C = A + B A와 B의 합을 C에 저장 (덧셈 연산)  
- C =  A - B A와 B를 뺸 차를 C에 저장 (뺄샘 연산)  
* C = A * B A와 B의 곱을 C에 저장 (곱셈 연산)  
/ C = A / B A를 B로 나눈 몫을 C에 저장 (나눗셈 연산)  
% C = A % B A를 B로 나누었을 때 나머지를 C에 저장 (나머지 연산)  
- C = -A A값이 양수이면 음수로, 음수이면 양수로 변환  
++ C = ++A A값에 1을 더한 값을 C에 저장 (증가 연산) let a = 1
a++ // (same as) a=a+1
console.log(a) // 2
-- C = --A A값에서 1을 뺀 값을 C에 저장 (감소 연산) let b = 2
b-- // (same as) b=b-1
console.log(b) // 1

단축된 연산자 설명 실제 예시
+= 기존 변수의 값에 값을 더한다. let c = 1
c+=3 // (same as) c=c+3
console.log(a) // 4
-= 기존 변수의 값에 값을 뺀다. let d = 3
d-=2 // (same as) d=d-2
console.log(d) // 1
*= 기존 변수의 값에 값을 곱한다. ?
/= 기존 변수의 값에 값을 나눈다. ?
%/ 기존 변수의 값에 나머지를 구한다. ?

 


*관계 연산자는 데이터 사이의 관계를 판단하는데 쓰인다. 결과 값은 true / false로 반환된다.

관계 연산자 사용 예 실제 예시
== A == B A와 B의 값이 같은지 비교 let x = 2
let y = 2
console.log(x == y) // true
=== A === B A와 B의 값뿐만 아니라 자료형도 같은지 비교  
!= A != B A와 B의 값이 다른지 비교 let x = 2
let y = 2
console.log(x != y) // false
> A > B    
>= A >= B    
< A < B    
<= A <= B    

논리 연산자 사용 예 실제 예시
&& A && B A와 B 모두 참일 때 참으로 값을 반환한다. (and 연산자)  
|| A || B A와 B 둘 중 하나만 참이어도 참으로 반환한다. (or 연산자)  
! !A A가 참이면 거짓으로 반환되고, A가 거짓이면 으로 반환된다. (not 연산자) let f = true
console.log(!f) // false
반응형

+ Recent posts