자바스크립트에서 다른 프로그래밍 언어와 다른 부분들만 정리해봤다.
+true // 1
+false // 0
1 + true // 2
1 + false // 1
1 + null // 1 (null -> 0)
1 + undefined // NaN (undefined -> NaN)
var str = 'My name is ';
str += 'Lee'; // My name is Lee
var x;
console.log(x = 10); // 10
var x,y;
y = x = 10;
// var x = y = 10;
console.log(x,y) // 10 10
5 == '5' // true (암묵적인 타입 변환으로 같은 값을 가짐)
비교 연산자 | 의미 |
== | x와 y의 값이 같음 |
=== | x와 y의 값과 타입이 같음 |
!= | x와 y의 값이 다름 |
!== | x와 y의 값과 타입이 다름 |
NaN === NaN // false
isNaN(NaN) // true
var x = 2;
var result = x % 2 ? 'odd' : 'even';
console.log(result); // even
var foo = null;
console.log(typeof foo === null); // false
console.lof(foo === null); //true
var num = 2;
var kind = num ? (num > 0 ? 'positive' : 'negative') : 'zero';
console.log(kind) // positive
var x = 10;
var str = x.toString(); // Explicit coercion || type casting
console.log(typeof str); // string
var x = 10;
var str = x + ''; // Implicit coercion
console.log(typeof str, str); // string 10
console.log(x); // 10
false
undefined
null
0, -0
NaN
''
//문자열
console.log(String(1)); // '1'
console.log((1).toString()); // '1'
// 숫자
console.log(Number('0')); // 0
console.log(parseInt('0')); // 0
console.log(parseFloat('5.16')); // 5.16
console.log(true * 1); // 1
console.log(false * 1); // 0
// Boolean
console.log(Boolean('x')); // true
console.log(Boolean('')); // false
console.log(Boolean('false')); // true
console.log(Boolean(NaN)); // false
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
console.log(Boolean(0)); // false
console.log(Boolean(Infinity)); // true
console.log(!!'x'); // true
console.log(!!''); // false
console.log(!!{}); // true
console.log(!![]); // true
단축 평가 표현식 | 평가 결과 |
true && anything | anything |
false && anything | false |
true || anything | true |
false || anything | anything |
'Cat' && 'Dog' // "Dog"
'Cat' || 'Dog' // "Cat"
[TestDome] HTML/CSS and JavaScript: check digit (ECMAScript 7) (0) | 2021.01.31 |
---|---|
[JavaScript] JavaScript #4: 객체 (Object) (0) | 2021.01.30 |
[JavaScript] JavaScript #2: 데이터 타입, 변수, 동적 타이핑(Dynamic Typing), 변수 호이스팅(Variable Hoisting) (0) | 2021.01.29 |
[JavaScript] JavaScript #1: 자바스크립트 개요 (0) | 2021.01.29 |
[Bootstrap] Bootstrap 다운로드 & 설치 (feat. VSCode) (0) | 2021.01.29 |