✍ Today I Learned
// 조건항(true of false) ? true일 때 필요한 값이나 코드 : false 일 때 필요한 값이나 코드
let result = condition ? (when true) value or code : (when false) value or code;
let rv = C ? T : F;
- 템플릿 리터럴은 백 틱(`)을 사용하여 문자열을 정의한다. ES6 기능으로 ${...} 안에 코드를 작성할 수 있다.
- 자바스크립트에서는 정수와 실수를 따로 구분하지 않고, 모든 수를 실수 하나로만 표현한다.
- + 연산자는 문자열에서는 연결자로, 숫자에서만 덧셈으로 작동한다.
- 숫자로 이루어진 문자열은 +연산을 제외한 다른 연산에서 숫자 타입으로 자동 변환된다.
- NaN(Not a number) - number 타입이며, '숫자가 아님'을 의미하는 숫자(읽기 전용)
- isNaN() - 전달받은 값이 숫자인지 아닌지 판별(true = NaN, false = 숫자 O)
- Infinity - number 타입이며, '무한대'를 의미하는 숫자(읽기 전용)
- 다음의 값들은 문맥에 따라 자동으로 타입 변환이 이루어진다. (0, 빈 문자열도 false)
값 |
Boolean 문맥 |
Number 문맥 |
String 문맥 |
null |
false |
0 |
"null" |
undefined |
false |
NaN |
"undefined" |
NaN |
false |
NaN |
"NaN" |
Infinity |
true |
Infinity |
"Infinity" |
- new 키워드를 이용하여 Number객체를 생성하는 건 코드를 복잡하게 만들고 실행 속도를 늦추므로 비추천한다.
- Convert 형변환에 대해
- string to number : Number("string number value"), parseInt("string integer value"), parseFloat("string float value")
- number to string : 123.toString(), (123.45).toStirng() string to boolean : Boolean("string value"), Boolean("")
- boolean to string : String(true), String(false) number to boolean : Boolean(number value), Boolean(1), Boolean(0)
- boolean to number : Number(true), Number(false)
- equal 매칭은 switch문, 범위가 있고 개별적으로 변수를 선언할 일이 많으면 if문