You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
varx="1";//문자열을 숫자로 타입 변환한다.console.log(x);// '1'//부수효과는 없다console.log(+x);// 1//불리언 값을 숫자로 타입 변환 한다.x=true;console.log(x);//true//부수효과는 없다console.log(+x);// 1x=false;console.log(x);//false//부수효과는 없다console.log(+x);// 0//문자열을 숫자로 타입 변환할 수 없으므로 NaN을 반환한다.x="hello";console.log(x);//helloconsole.log(+x);//NaN
[07-07] 단항 연산자 '-'
-(-10);// 10
'-' 단항 연산자는 피연산자의 부호를 반전한 갑을 반환한다.
[07-08] 단항 연산자 '-' _숫자 타입으로의 변환
//문자열을 숫자로 타입 변환한다.-"10";// -10//불리언 값은 숫자로 타입 변환한다.-true;// -1-"hello";//NaN
7.1.3 문자열 연결 연산자
'+'연산자는 피연산자 중 하나 이상이 문자열인 경우 문자열 연결 연산자로 동작한다.
[07-08]
//문자열 연결 연산자"1"+2;//'12'1+"2";//'12'//true는 1로 타입 변환된다1+true;//2//false는 0으로 타입 변환된다1+false;// 1//null은 0으로 타입 변환된다1+null;// 1//undefined는 숫자로 타입 변환되지 않는다.+undefined;//NaN1+undefined;// NaN
true, false, null 등은 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되기도 한다. (: 암묵적 타입 변환, 타입 강제 변환)
7.2 할당 연산자
우항에 있는 피연산자의 평가 결과를 좌항에 있는 변수에 할당한다.
할당 연산자는 좌항의 변수에 값을 할당하므로 변수 값이 변하는 부수 효과가 있다.
할당 연산자
예
동일 표현
부수 효과
=
x= 5
x = 5
O
+=
x += 5
x = x + 5
O
-=
x -= 5
x = x - 5
O
*=
x *= 5
x = x * 5
O
/=
x /= 5
x = x / 5
O
%=
x %= 5
x = x % 5
O
[07-09]
varx;x=10;console.log(x);// 10x+=5;console.log(x);// 15x-=5;console.log(x);// 10x*=5;console.log(x);// 50x/=5;console.log(x);// 10x%=5;console.log(x);// 0varstr="My name is";str+=" Kim";console.log(str);// My name is Kim
[07-10] 표현식으로서의 할당문
varx;console.log((x=10));// 10
할당문은 값으로 평가되는 표현식인 문으로서 할당된 값으로 평가된다.
할당문은 값으로서 다른 변수에 할당될 수 있다. (5.6절에서 전술)
[07-11]
a=b=c=0;//연쇄 할당. 오른쪽에서 왼쪽으로 진행// c = 0 : 0으로 평가된다// b = 0 : 0으로 평가된다// a = 0 : 0으로 평가된다console.log(a,b,c);// 0 0 0
7.3 비교 연산자(comparison operator)
비교 연산자는 좌항과 우항의 피연산자를 비교한 다음 그 결과를 불리언 값으로 반환한다.
주로 if문이나 for문과 같은 제어문의 조건식에서 사용한다.
7.3.1 동등/일치 비교 연산자
좌항과 우항의 피연산자가 같은 값으로 평가되는지 비교해 불리언 값을 반환한다.
비교 연산자
의미
사례
설명
부수 효과
==
동등비교
x == y
x와 y의 값이 같음
X
===
일치비교
x === y
x와 y의 값과 타입이 같음
X
!=
부동등비교
x != y
x와 y의 값이 다름
X
!==
불일치 비교
x !== y
x와 y의 값과 타입이 다름
X
[07-12] 동등 비교 연산자
//타입은 다르지만 암묵적 타입 변환을 통해 타입을 일치시키면 동등하다.5=='5';//true
동등 비교 (==) 연산자는 좌항과 우항의 피연산자를 비교할 때, 먼저 암묵적 타입 변환을 통해 타입을 일치시킨 후 같은 값인지 비교한다.
동등 비교 연산자는 예측하기 어려운 결과를 만들어 낸다.
따라서 사용하지 않는 편이 좋다.
[07-14] 일치 비교 연산자
//암묵적 타입 변환을 하지 않고 값을 비교한다.// 값과 타입이 모두 같은 경우만 true를 반환한다.5==="5";// false
[07-15]
NaN===NaN;// false
NaN은 자신과 일치하지 않는 유일한 값이다.
[07-16] isNaN()
//isNaN() 함수는 지정한 값이 NaN인지 확인하고 그 결과를 불리언 값으로 반환한다.isNaN(NaN);// trueisNaN(10);//falseisNaN(1+undefined);// true
varx;// 할당 연산자는 변수 값이 변하는 부수 효과가 있다.// 이는 x 변수를 사용하는 다른 코드에 영향을 준다. x=1;console.log(x);//1//증가/감소 연산자는 부수 효과가 있다.//피연산자의 x 값이 재할당되어 변경된다. 이는 변수 x를 사용하는 다른 코드에 영향을 준다.x++;console.log(x);//2varo={a: 1};//delete 연산자는 객체의 프로퍼티를 삭제하는 부수 효과가 있다//객체 o를 사용하는 다른 코드에 영향을 준다deleteo.a;console.log(o);// {}