강의/(강의)Javascript 문법뽀개기_스파르타코딩클럽

1. 시작~연산자(1) 까지

리꾸엘메 2022. 3. 12. 01:15

변수: let / const 
let은 값이 변화할 가능성이 있는 변수 
const는 한 번 선언 시 값을 수정할 수 없다.


기본형(원시) 데이터 타입: 문자열 / 숫자 / Boolean ( true/false ) / (null/undifined) 

null 은 비어있음을 의미 (숫자0 이나 '' 와 다르다.)
undifined 는 선언은 했지만 값은 없는 것을 의미한다. 
[0,,null,''] 는 숫자0, undifined(자리는 있으나 할당은 안됨), null(비어있음), '' 을 말한다. 


연산자 

문자와 숫자를 + 하면 문자로 인식해서 연산한다. 
console.log('1'+2) 는 12가 아닌 '12' 

산술연산자:

+ : 더하기 / - : 빼기 / * : 곱하기 / / : 나누기 / % : 나머지값 / ** : 제곱


증감연산자:  

" 피연산자를 증가(1을 더함)하고 값을 반환합니다. "

let x = 3
const y = ++x
일 때 x = 4, y = 4

++가 앞에 위치할 때는 y는 증가한 값을 받고( y + x ), 
피연산자도 증가한다.

let x = 3
const y = x++
일 때 x = 4, y = 3

++가 뒤에 위치할 때는 y는 피연산자의 값만 받고(y = x ),
피연산자만 1을 더한다.


대입(할당)연산자: 
선언(값을 변수에 할당) 할 때 쓰인 = 도 대입연산자의 일종이다. 
즉, 대입연산자는 ~이다 라는 선언의 의미를 가지고 있다. 

a = b : a = b이다 / a+=b : a = a+b 이다. / a-=b : a = a + b 이다.

let a = 2
const b= 3 일 때

console.log(a+=b) 는 되지만  console.log(2+=3) 은 안되는 이유는? 

a는 값이 변화할 수 있는 변수지만 숫자2는 더할 수는 있어도 2라는 숫자가 5로 변할 수는 없기 때문인 것 같다. 
let a = 2 를 const a = 2 라고 바꿨을 때 에러가 나는 것과 같은 이유 인듯 하다.