
`1 + 1 = ${1 + 1}` // "1 + 1 = 2"'', [], null, falsetrueundefinedTruthy(참으로 평가되는 값) 또는 Falsy(거짓으로 평가되는 값)으로 구분Falsy값falseundefinednullNaN''Falsy이외의 값은 모두 true로 평가되는 Truthy값이다.String생성자 함수를 new연산자 없이 호출하는 방법
Object.prototype.toString메서드를 사용하는 방법
문자열 연결 연산자 (+)를 이용하는 방법
// 1
String(1); // "1"
String(NaN); // "NaN"
// 2
(1).toString(); // "1"
(NaN).toString(); // "NaN"
// 3
1 + ''; // "1"
NaN + ''; //"NaN"
Number생성자 함수를 new연산자 없이 호출하는 방법
parseInt, parseFloat함수를 사용하는 방법(문자열만 숫자 타입으로 변경 가능)
+단항 산술 연산자를 사용하는 방법
*산술 연산자를 사용하는 방법
// 1.
Number('0'); // 0
Number('-1'); // -1
Number('10.53'); // 10.53
Number(true); // 1
Number(false); // 0
// 2.
parseInt('0'); // 0
parseInt('-1'); // -1
parseInt('10.53'); // 10.53
// 3.
+'0'; // 0
+'-1'; // -1
+true; // 1
+false; // 0
// 4.
'0'*1; // 0
'-1'*1; // -1
'10.53'*1; // 10.53
true * 1; // 1
flase * 1; // 0
Boolean 생성자 함수를 new연산자 없이 호출하는 방법
! 부정 논리 연산자를 두 번 사용하는 방법
// 1.
// 문자열 => 불리언
Boolean('x'); // true
Boolean(''); // false
Boolean('false'); // true
// 숫자 => 불리언
Boolean(0); // false
Boolean(1); // true
Boolean(NaN); // false
Boolean(Infinity); // true
// null => 불리언
Boolean(null); // false
// undefined => 불리언
Boolean(undefined); // false
// 객체 => 불리언
Boolean([]); // true
Boolean({}); // true
// 2.
// 문자열 => 불리언
!!'x'; // true
!!''; // false
!!'false'; // true
// 숫자 => 불리언
!!0; // false
!!1; // true
!!NaN; // false
!!Infinity; // true
// null => 불리언
!!null; // false
// undefined => 불리언
!!undefined; // false
// 객체 => 불리언
!![]; // true
!!{}; // true
||) 또는 논리곱(&&) 연산자 표현식의 평가 결과는 불리언 값이 아닐 수 있다.'cat' && 'dog'; // 'dog'&&) 연산자 ||) 연산자 null또는 undefined가 아닌지 확인하고 프로퍼티를 참조할 때var elem = null;
var value = elem && elem.value; // null인수를 전달하지 않으면 매개변수에는 undefined가 할당된다.
단축 평가를 이용해서 매개변수의 기본값을 설정하면 undefined로 인해 발생할 수 있는 에러 방지
function getStringLength(str) {
str = str || '';
return str.length;
}
getStringLength(); // 0
getStringLength('hi'); // 2
```
?. 좌항의 피연산자가 null혹은 undefined인 경우 undefined를 반환null 또는 undefined가 아닌지 확인하고 프로퍼티를 참조할 때 유용var elem = null;
var value = elem?.value;
console.log(value); // undefined?? 좌항의 피연산자가 null 또는 undefined인 경우 우항의 피연산자를 반환var foo = null ?? "default string";
console.log(foo); // "default string";