Web Front-end 공부/Java script
Js 상수(const)와 var
Hanachoi
2022. 5. 20. 19:01
- const는 상수, 저장된 값을 바꿀 수 없다.
- const로 지정한 변수를 나중에 바꾸려고 하면 [Assingment to constant variable] 이라는 에러가 뜬다
const value = '상수입니다'
value = '123' // Uncaught TypeError : Assignment to constant variable .
- const를 써서 변수를 설정할거면 처음부터 꼭 값을 넣어줘야된다. 나중에 바꿀수 없기때문에 에러가 뜬다. 처음에 뱐수를 설정하지 않으면 나중에 바꿀 수 없기때문에 의미가 사라진다.
- [Uncaught SyntaxError : Missing initializer in const declaration.]
const value2 ; // Uncaught SyntaxError : Missing initializer in const declaration.
#var
- 최근에는 잘 안쓰지만 과거에 작성된 코드를 읽어야 될 때가 있으므로 var의 특성을 알아둬야함.
- var는 기존에 선언된 함수를 다시 여러번 선언해도 에러가 나지 않는다.
- 예약어같은 애들로 변수이름을 설정할 수도 있다.
- 'let을 사용하면 원래 예약어로 지정된 애들을 함수이름을 지정할 수 없게 해줌
> let undefined = 'defined';
// Uncaught SyntaxError: Identifier 'undefined' has already been declared
> let Infinity = 0;
// Uncaught SyntaxError: Identifier 'Infinity' has already been declared
> let let = 'const';
//Uncaught SyntaxError: let is disallowed as a lexically bound name
- 또 let은 함수를 다시 선언할 수 없게 함.
let change = '123'
let change = '12'
// Uncaught SyntaxError: Identifier 'change' has already been declared
- Q. 두 변수의 값을 서로 바꾸고 싶다면? 변수 하나를 더 만들어서 값을 하나 저장해 둔 뒤에 값을 바꿔주면 됨
a = 3 ; b = 5 //여기서 서로의 값을 바꿔야 하니까 변수 c를 만들어서 a의 값을 잠시 보관해준다.
let c = a // c는 3이 된다.
a=b //대입연산자에서는 오른쪽 값이 왼쪽으로 움직이니까 b=5가 a로 대입됨.
b= c
a = 5 / b= 3 //이 된다. c는 굳이 안비워줘도 됨