kakasoo

[javaScript] 형변환과 테스트하기 좋은 코드 본문

프로그래밍/JavaScript

[javaScript] 형변환과 테스트하기 좋은 코드

카카수(kakasoo) 2020. 8. 1. 17:25
반응형

형변환

JavaScript에서는 명시적인 형변환, 묵시적인 형변환이 있다.

엄밀히 말해, 묵시적인 형변환은 Wrapper 함수로 인한 형변환이라고 할 수 있겠다.

여기서는 둘의 구분 없이, 자주 보게되는 형태의 형변환들을 짚고 넘어가고자 한다.

String

String(1) === '1'; // true
1 + "" = '1' // true

String으로 감싸서 문자열로 변경할 수도 있으며, 숫자에 문자열을 더해 변경할 수도 있다.

Number

Number('1') === 1 // true
'1' - 0 === 1 // true
+'1' === 1 // true
'1' / 1 === 1 // true

String과 마찬가지로 Number로 감싸서 숫자로 변경하는 것이 가능하고,

뺄셈이나 나눗셈으로도 가능하다.

또한 문자의 맨 앞에 ‘+’ 기호를 붙임으로써 숫자임을 명시하는 것도 가능하다.

별 것 아닌 것들이지만, 실제로도 코드를 짜다보면 자주 마주하고, 또 쓰게 되는 방식이다.

Boolean

Boolean(1); // true

Boolean을 이용해 true로 변경할 수 있으며,

굳이 변경하지 않아도 일반적인 경우에는 true로 취급된다.

아래는 일반적이지 않은, false로 취급되는 값들이다.

Boolean(0); // false
Boolean(undefined); // false
Boolean(null); // false
Boolean("") // false
Boolean(false) // false
Boolean(NaN) // false

테스트하기 좋은 코드란?

테스트하기 좋은 코드는, 의미 있는 단위로 함수를 잘게 나눠서 짠 코드를 말한다.

만약 이게 어렵다면, 일단은 함수를 가급적 짧게, return은 분명하게 한다고 가정해보자.

const arr = new Array();

function put (key, value) { // 해당 key가 존재하지 않을 때만 추가하는 가상의 함수
    if (key && !arr[key]) {
        return (arr[key] = value), arr;
    }
}
반응형

'프로그래밍 > JavaScript' 카테고리의 다른 글

[javaScript] 객체와 생성자, Symbol()  (0) 2020.08.02
[javaScript] 가비지 컬렉션  (0) 2020.08.02
JavaScript의 배열  (0) 2020.08.01
JavaScript의 변수 기초  (0) 2020.07.12
JavaScript의 특징  (0) 2020.07.12