if,else,type conversion(자료형 변환),type coercion (자동형 변환)

Juyeon Lee·2021년 12월 31일
0

IF,ELSE

if, else 예제 코드는 아래와 같다.

const birthYear = 2021;

let century;
if (birthYear <= 2000) {
    century = 20;
} else {
    century = 21;
}
console.log(century);

let century를 if-else 블록 밖에 선언한 이유는 century가 코드 블록 안에 있을 때는 블록 밖에서 접근할 수 없기 때문이다. 변수는 선언된 블록(scope) 안에서만 접근할 수 있다. 따라서 century를 if-else 블록 밖에서 정의함으로써, 블록 밖에서도 century 변수에 접근할 수 있게 되는 것이다. 이렇게 하면 console.log(century)로 값을 출력할 수 있다.

Type Conversion(자료형 변환)

다음으로 Type Conversion에 대해 배워보자. Type Conversion은 우리가 수동적으로 한 타입을 다른 타입으로 바꾸는 것을 말한다.

예를 들어, 아래의 코드를 보자.

const inputYear = '1991';
console.log(inputYear + 18);

이렇게 결과가 199118이 나온것을 볼 수 있다. 그 이유는 inputYear가 문자열이기 때문이다. 참고로, + 연산자는 문자열과 숫자를 더할 때 항상 문자열로 결과를 반환한다. 그래서 문자열 타입을 숫자 타입으로 바꿔줘야 한다. 바꾸는 방법은 다음과 같다.

const inputYear = '1991';
console.log(Number(inputYear));
console.log(inputYear + 18);

Number()이 number type으로 바꾸어주는 역할을 한다.

Type coercion(자동형 변환)

type coercion 이란 자바스크립트가 자동으로 한 타입을 다른 타입으로 바꾸어 주는걸 말한다. 예를 들어서 아래의 코드를 보자.

console.log ('23' + '10' + 3);

+ 연산자는 문자열과 숫자가 있을 때 숫자도 문자열로 자동 변환한다. 따라서 결과값은 23103이 된다. 반대로, - 연산자는 문자열과 숫자가 있을 때 문자열을 숫자로 변환해서 계산한다. 아래의 코드를 보자.

console.log ('23' - '10' - 3);

여기서 23과 10은 문자열이지만 - 연산자는 숫자 연산을 해야 하므로 자바스크립트는 자동으로 문자열을 숫자로 변환한다. 따라서 23 - 10은 13이 되고, 여기서 3을 더 빼면 결과는 숫자 10이 된다.

0개의 댓글