카테고리 없음

[Js] 항상 = 와 == , ===를 구별하자!

개린이다 2023. 2. 27. 17:40

* 목표 : 각 시간대별로 인삿말을 바꾸고 싶음

 

* 처음 짰던 코드

function paintGreetings(username){
    const greetingsHours = new Date().getHours();
    console.log(greetingsHours);

    if(greetingsHours<12){
        greeting.innerText = `좋은 오전이야, ${username}!`;
        greeting.classList.remove(HIDDEN_CLASSNAME);
    } else if(greetingsHours=12){
        greeting.innerText = `완벽한 정오야, ${username}!`;
        greeting.classList.remove(HIDDEN_CLASSNAME);
    } else{
        greeting.innerText = `좋은 오후야, ${username}!`;
        greeting.classList.remove(HIDDEN_CLASSNAME);
    }

}

* 오류메세지

console.log 까지는 동작하는데, 밑의 코드가 문제라는 거임

오류메시지를 찾아봄

 

*오류메세지 해석

 

Uncaught TypeError: Assignment to constant variable.

 

https://itprogramming119.tistory.com/entry/Javascript-Assignment-to-constant-variable-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95

 

Assignment to constant variable 해결 방법

Assignment to constant variable 에러 해결 방법에 대하여 알아보겠습니다. 이 에러는 Javscript ES6이상을 사용하면 어디서든 발생할 수 있는 에러입니다. 따라서, Javscript뿐만 아니라 Javscript기반인 React, Vue

itprogramming119.tistory.com

 

나는 const 에 재할당한게 없는데?! 하고 밑을 보니

else if(greetingsHours=12)

이게 있었음 ㅋㅋㅋㅋ ㅜㅜ 바보

 

*해결

else if(greetingsHours==12)

바꾸니 잘 돌아감! ===하려다가 그냥.. ==로 함. 여기서는 굳이? 이런 생각이 들어서.. 그래도 ===를 쓰는게 좋다고 하니 담부터는 === 써야지!

* ==와 ===의 차이

===는 데이터타입까지 같아야됨