[JS] 형변환, 연산자

Minyoung's Conference·2022년 5월 13일
0

JavaScript

목록 보기
1/28
post-thumbnail

자바스크립트를 실행하기 위해선 자바스크립트 엔진이 필요하다.

현재 활동중인 자바스크립트엔진은 여러가지가 있으며, 가장 대중적으로 많이 사용되는 것이 구글 크롬의 V8엔진이다. (자바스크립트 엔진 더 보기)

자바스크립트는 엔진 내에서 동작되며, 엔진의 실행환경을 '런타임'이라고 부른다. 그리고 이것이 동작하면 런타임 동작이라고 한다.

[묵시적 형변환]

let numberA = 12;
let numberB = "2";
console.log(numberA * numberB); // 24

문자열과 숫자를 곱했는데 자동으로 숫자가 출력되었다. 자바스크립트가 자동으로 문자열 "2"를 숫자로 인지해서 만든 결과이다. 자바스크립트 엔진은 연산 시 적절하게 자동으로 결과를 변환하여 준다. (이를 형변환, casting이라고 부름)
따로 변환에 대한 명령이 없었으나 묵시적으로 변환해줬기에 이를 묵시적 형변환이라고도 한다.

[명시적 형변환]

let numberA = 12;
let numberB = "2";

console.log(numberA + numberB); // 122 (string)

자바스크립트엔진이 자동으로 문자열로 바꿔 122라는 결과를 출력했다.

14라는 결과를 얻고 싶다면, 문자열에 parseInt를 사용한다.

let numberA = 12;
let numberB = "2";
console.log(numberA + parseInt(numberB)); // 14 (Number) 

이렇게 직접적으로(명시적으로) parseInt라는 함수를 사용해 형변환을 하는 경우를 명시적 형변환이라고 한다.
(프로그래머가 의도적으로 형변환을 하는 것을 '명시적 형변환' 이라고 한다.)

[증감연산자 ++a(전위), a++(후위) 의 차이 (--a,a-- 또한 동일)]

둘 다 a의 값은 11이 되는 것은 동일하나
전위 연산자는 수행하자마자 즉시 1만큼 값이 커지고,
후위 연산자의 경우 연산 이후 값이 커진다.

let a = 10;

console.log(a++); // a = 10
console.log(a); //   a = 11

[연산자와 피연산자]

console.log(true && true)에서 true는 피연산자, &&는 연산자이다.

자바스크립트는 자료형에서 에러가 많이 발생하기에 '==' 두 번이 아닌
'===' 세 번을 써주고 값 뿐만 아니라 타입도 함께 확인해주는 게 좋다.
'!==' : 타입까지 같지 않은가? 라는 뜻.

[null병합 연산자]

let a;
a = a ?? 10;
console.log(a);

null이나 undefined 이 아닌 값을 선택한다.
a의 값이 정해지지 않아 undefined 상태라면 '??' 양쪽의 값 a와 10 중
undefined이나 Null이 아닌 10을 선택하게 된다.

profile
안녕하세요, FE 개발자 김민영입니다.

0개의 댓글