-
#JavaScript Grammar_형 변환Javascript 2023. 10. 16. 11:56
# 형 변환이란?
javascript의 데이터 타입 형태를 바꾸는 것을 뜻하며, 의도하지 않았지만 자동으로 바뀌는 것을 암시적 형 변환이라고 하고, 일부러 개발자가 의도적으로 바꾸는 것을 명시적 형 변환이라고 함.
#1. 암시적 형 변환(Implicit Type Conversion)
암시적 형 변환은 JavaScript 엔진이 자동으로 데이터 타입을 변환하는 것을 의미.
1-1) 문자열(String)
let result1 = 1 + "2"; console.log(result1); // "12" console.log(typeof result1); // "string" let result2 = "1" + true; console.log(result2); // "1true" console.log(typeof result2); // "string"
- 두 경우 모두 숫자와 문자열이 연산되면 문자열로 암시적 형 변환이 발생하게 되며, 결과 값은 문자열.
- 더하기 연산자로 만나면 문자열이 우선시 됨. ex) { }, null. undefined + "1" => 문자열
1-2) 숫자(Number)
let result3 = 1 - "2"; console.log(result3); // -1 console.log(typeof result3); // "number" let result4 = "2" * "3"; console.log(result4); // 6 console.log(typeof result4); // "number"
- + 연산이 아닌 -, *, / 연산은 JavaScript에서 문자열과 문자열 간, 또는 문자열과 숫자 간에도 숫자가 우선시되어 암시적 형 변환됨. 따라서 결과 값은 숫자로 나타남.
#2. 명시적 형 변환(Explicit Type Conversion)
명시적 형 변환은 개발자가 의도적으로 데이터 타입을 변환하는 것을 의미. 데이터를 원하는 데이터 타입으로 변환하려고 할 때 사용됨.
2-1) Boolean
console.log(Boolean(0)); // false console.log(Boolean("")); // false console.log(Boolean(null)); // false console.log(Boolean(undefined)); // false console.log(Boolean(NaN)); // false
- 명시적으로 `Boolean( )` 함수를 사용하여 다양한 값들을 불리언으로 변환했고, 숫자 0, 빈 문자열, null, undefined, NaN은 모두 `false`로 변환됨.
+++ 추가로 아래의 경우와 비어 있지 않은 문자열이나 객체는 `true`로 명시적 변환이됨.
console.log(Boolean("false")); // true console.log(Boolean({})); // true
- ` Boolean("false")`: "flase"는 비어 있지 않은 문자열로 `true`로 변환됨.
- ` Boolean({ })`: 빈 객체는 비어 있지 않은 객체로 `true`로 변환됨
2-2) 문자열(string)
let result5 = String(123); console.log(typeof result5); // "string" console.log(result5); // "123" let result6 = String(true); console.log(typeof result6); // "string" console.log(result6); // "true" let result7 = String(false); console.log(typeof result7); // "string" console.log(result7); // "false" let result8 = String(null); console.log(typeof result8); // "string" console.log(result8); // "null" let result9 = String(undefined); console.log(typeof result9); // "string" console.log(result9); // "undefined"
- `String( )` 함수를 사용하여 숫자, 불리언, null, undefined 등의 값을 문자열로 명시적 변환함.
2-3) Number
let result10 = Number("123"); console.log(result10); // 123 console.log(typeof result10); // "number"
- `Number( )` 함수를 사용하여 문자열 "123"을 숫자로 명시적 변환함.
'Javascript' 카테고리의 다른 글
#JavaScript Grammar_함수 (0) 2023.10.16 #JavaScript Grammar_연산자 (0) 2023.10.16 #JavaScript Grammar_데이터 타입(3) (0) 2023.10.16 #JavaScript Grammar_데이터 타입(2)_문자 (0) 2023.10.16 #JavaScript Grammar_데이터 타입(1)_숫자 (0) 2023.10.16