Notice
Recent Posts
Recent Comments
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

HYEWON JUNG의 개발일지

Assignment to constant variable. 본문

오류모음

Assignment to constant variable.

혜won 2023. 11. 8. 22:24

const로 상수를 선언해 두고  재할당을 할 때 나오는 오류이다.

간단하게는  let으로 바꿔서 해결할 수 있다. 

const a = 15

a=10

이렇게 재할당을 할 대 나타나지만 나같은 경우에는 

  const [count, setCount] = useState(0)
  
    const statePlusHandler=()=>{
    setCount(count ++)
  }

 

에서 오류가 떴다. react를 공부하던중 +1 해야하는 값에는 그냥 다 ++, 증감연산자를 사용했었는데 갑자기 오류가 뜬 것 이다. 

 

증감연산자는 단순 +1 이 아니라  할당연산자를 간략하게 사용하는 것이라고 보면 되는데 할당연산자는 

a += 1   ===   a= a+1   ===  a++

이것을 뜻한다. 그러니 위에 코드에선 count = count+1을 해준 것이다. 재 할당을 한 것이다.

그러니 오류가 난다. 

 

같은 맥락으로 

  const refPlusHandler=()=>{
    countRef.current++
    console.log(countRef.current)
  }

이부분은 countRef.current+1쓸경우 오류가 난다. 선언도 없고 반환도 없기 때문에

2023.11.07 - [오류모음] - Expected an assignment or function call and instead saw an expression

 

Expected an assignment or function call and instead saw an expression

과제를 하면서 가장 마주친 오류인데 이걸 마주친다면 당신은 화살표함수가 익숙하지 않다는 뜻입니다. 오류의 뜻은 Expected an assignment or function call and instead saw an expression 할당 또는 함수 호출이

hyewonjung-coding.tistory.com

이 오류가 난다. 그래서 

  const refPlusHandler=()=>{
    countRef.current =countRef.current+1
    console.log(countRef.current)
  }

이런식으로 선언을 해주던던지 해야하는데 이게 countErf.current ++와 같은 의미이다. 

 

???: 앗 이것도 재할당이니까 상수선언했으니 오류가 나야하는것 아닌가요? 

=> 데이터 타입 공부 다시 하기! 참조형은 내부 값이 변해도 변수영역은 변함이 없기 때문에 상수임은 같아요!

2023.10.27 - [JavaScript] - 데이터 타입 > 얕은 복사 , 깊은 복사

 

데이터 타입 > 얕은 복사 , 깊은 복사

데이터 타입 기본형 Number String Boolean Null undefined symbol 참조형 > Object Array Function Date RegExp Map/WeakMap set / WeakSet 변수 vs 상수 변수 = 변수영역에서 메모리 변경 가능 상수 = 변수영역에서 메모리 변경

hyewonjung-coding.tistory.com

어느기준인지 알고싶으면 위 게시물을 보기!