연산자, 형변환
연산자
"더하기 연산"과 "문자열 연결 연산"을 수행
모두 숫자일 경우에만 더하기 연산이 수행, 나머지는 문자열 연결 연산
typeof 연산자
기본 타입
숫자
'number'
기본 타입
문자열
'string'
기본 타입
불린값
'boolean'
기본 타입
null
'object'
기본 타입
undefined
'undefined'
참조 타입
객체
'object'
참조 타입
배열
'object'
참조 타입
함수
'function'
동등 연산자와 일치 연산자
== : 비교대상의 타입이 다른 경우, 타입변환을 한 이후 비교를 함.
=== : 비교대상의 타입이 다를 경우, 타입변환을 하지 않고 비교를 함.
논리연산자
AND(&&)
expr1 && expr2
expr1를 true로 반환할 수 있는 경우 expr2를 반환 그렇지 않으면 expr1을 반환
OR(||)
expr1 || expr2
expr1를 true로 반환할 수 있는 경우 expr1를 반환 그렇지 않으면 expr2을 반환
NOT(!)
!expr
단일 피연산자를 true로 변환할수 있으면 false로 반환, 그렇지 않으면 true를 반환
형변환
암시적변환 암시적 변환이란 자바스크립트 엔진이 필요에 따라 자동으로 데이터타입을 변환시키는 것이다.
💡 산술 연산자 더하기(+) 연산자는 숫자보다 문자열이 우선시 되기때문에, 숫자형이 문자형을 만나면 문자형으로 변환하여 연산된다. (문자 > 숫자)
💡 다른 연산자(-,*,/,%)는 숫자형이 문자형보다 우선시되기 때문에 더하기와 같은 문자형으로의 변환이 일어나지 않는다. (문자 < 숫자)
동치비교
아래의 예제는 엄격하지 않은 동치(==) 비교이며, 아래의 결과값은 좌우항 변환 할 경우 모두 ‘0 == 0 이기때문에’ true
이다.
💡 여기서 유의해야 할 점은 위의 비교는 엄격하지 않은 동치 비교일 경우이기 때문에, 두 값을 비교할 때 데이터타입을 변환하지 않는 엄격한 동치(===) 비교와 혼동되지 않도록 한다.
명시적변환
명시적변환
명시적변환이란 개발자가 의도를 가지고 데이터타입을 변환시키는 것이다. 타입을 변경하는 기본적인 방법은 Object(), Number(), String(), Boolean()
와 같은 함수를 이용하는데 new 연산자가 없다면 사용한 함수는 타입을 변환하는 함수로써 사용된다.
A Type → Number Type
Last updated