Programming Language/JavaScript

191111 오늘의 깨달음

Hitzi 2019. 11. 11. 21:49

오늘은 부정연산자의 개념에 관해 깨달은것이 하나 생겼다.

 

! <-- 바로 이 느낌표인데, 보통 

1
2
3
4
5
6
var a = "nice"
if(a != "nice"){
console.log("no!");
else {
console.log("yes!");
}  //yes! 가 출력됨.
 

 

이런식으로 값이 같지 않은경우를 나타낼때 쓰는 부정연산자.

오늘 코딩 강의를 보면서 이해가 안되는점이 하나 있었는데, 바로

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var b = false;
 
if(!b){
console.log("no!")
else {
console.log("yes!")
//이경우 "no!"가 출력..
 
var c = true;
 
if(!c){
console.log("no!")
else {
console.log("yes!")
//이경우 "yes!"가 출력.
 

if문의 () 안에 있는 변수앞에 부정연산자가 붙었으니

미지수x 에 -1을 곱하듯 해당 변수의 부정연산자의 boolean 값을 반대로 바꿔준다는 뜻으로 오해했었다.

실제 코드는 살짝 더 복잡했기때문에 굉장히 머리가 아팠는데, 

위에 적은것 처럼 코드를 간단하게 만들어 콘솔창에서 테스트를 해보니

if(!변수)는 if(변수==false) 와 같은뜻이라는 걸 알 수 있었다.

단어 앞에 부정어를 붙이길래 당연히 그런식으로 받아들였는데.. 컴퓨터와의 문화차이를 극복하는길은 멀고도 험하다.