// λͺ
μμ νμ
λ³ν
let x = 10;
let str = x.toString();
console.log(typeof str, str); // string 10
// μ묡μ νμ
λ³ν
let y = 10;
let str2 = y + '';
console.log(typeof str2, str2); // string 10
1 + '2' // β "12"
+
μ°μ°μλ νΌμ°μ°μ μ€ νλ μ΄μμ΄ λ¬Έμμ΄μ΄λ©΄ λ¬Έμμ΄ μ°κ²° μ°μ°μλ‘ λμνμ¬ λ¬Έμμ΄ κ°μ λ§λ λ€.
`1 + 1 = ${1 + 1}` // β "1 + 1 = 2 "
ES6μμ λμ
λ ν
νλ¦Ώ 리ν°λ΄
μ ννμ μ½μ
μ ννμμ νκ° κ²°κ³Όλ₯Ό λ¬Έμμ΄ γΉνμ
μΌλ‘ μ묡μ νμ
λ³νμ μν¨λ€.
μ°μ μ°μ°μ
1 - '1' // β 0
1 * '10' // β 10
1 / 'one' // β NaN
λΉκ΅ μ°μ°μ
'1'>0 // β true
λ¨ν μ°μ°μ +
+'' // β 0
+'1' // β 1
+'string' // β NaN
+true // β 1
+false // β 0
+null // β 0
+undefined // β NaN
+Symbol() // β TypeError
+{} // β NaN
+[] // β 0
+[10, 20] // β NaN
+(function(){}) // β NaN
if
λ¬Έκ³Ό for
λ¬Έif('') console.log('1'); // β β
if(true) console.log('2'); // β βοΈ
if(0) console.log('3'); // β β
if('str') console.log('4'); // β βοΈ
if(null) console.log('5'); // β β
// 2 4
Falsy κ°
Truthy κ°
: Falsy κ° μΈμ λͺ¨λ κ°μ trueλ‘ νκ°λλ Truthy κ°μ΄λ€.
// 1. String μμ±μ ν¨μλ₯Ό new μ°μ°μ μμ΄ νΈμΆ
String(1); // β "1"
String(NaN); // β "NaN"
String(true); // β "true"
// 2. Object.prototype.toString λ©μλ μ¬μ©
(1).toString(); // β '1'
(NaN).toString(); // β 'NaN'
(true).toString(); // β 'true'
// 3. λ¬Έμμ΄ μ°κ²° μ°μ°μ μ΄μ©
1 + ''; // β '1'
NaN + ''; // β 'NaN'
true + ''; // β 'true'
+
λ¨ν μ°μ μ°μ°μ μ΄μ©*
λ¨ν μ°μ μ°μ°μ μ΄μ©// 1. Number μμ±μ ν¨μλ₯Ό new μ°μ°μ μμ΄ νΈμΆ
Number('0') // β 0
Number('-1') // β -1
Number('59.59') // β 59.59
Number(true) // β true
// 2. paresInt, parseFloat ν¨μ μ¬μ© (λ¬Έμμ΄ β μ«μνμ
λ§ κ°λ₯)
// parseInt : μ μ λλ NaN λ°ν ν¨μ
// parseFloat : λΆλ μμμ μ«μ λ°ν ν¨μ
parseInt('0') // β 0
parseInt('-1') // β -1
parseInt('59.59') // β 59.59
// 3. `+` λ¨ν μ°μ μ°μ°μ μ΄μ©
+'0'; // β 0
+'-1'; // β -1
+'59.59'; // β 59.59
+true; // β 1
+false; // β 0
// 4. `*` λ¨ν μ°μ μ°μ°μ μ΄μ©
'0' * 1; // β 0
'-1' * 1; // β -1
'59.59' * 1; // β 59.59
true * 1; // β 1
false * 1; // β 0
// 1. Boolean μμ±μ ν¨μλ₯Ό new μ°μ°μ μμ΄ νΈμΆ
Boolean('x'); // β true
Boolean(''); // β false
Boolean('false'); // β true
Boolean(0); // β false
Boolean(1) // β true
Boolean(NaN) // β false
Boolean(Infinity) // β true
Boolean({}) // β true
Boolean([]) // β true
// 2. ! λΆμ λ
Όλ¦¬ μ°μ°μλ₯Ό λ λ² μ¬μ©νλ λ°©λ²
!!'x'; // β true
!!''; // β false
!!5; // β true
!!NaN; // β false
!!null; // β false
!!undefined; // β false
!!{}; // β true
!![]; // β ture
: λ
Όλ¦¬ μ°μ°μ κ²°κ³Όλ₯Ό κ²°μ νλ νΌμ°μ°μλ₯Ό νμ
λ³ννμ§ μκ³ κ·Έλλ‘ λ°ν
( λ
Όλ¦¬μ°μ°μλ μ’νμμ μ°νμΌλ‘ νκ°κ° μ§νλλ€.)
λ¨μΆ νκ° ννμ | νκ° κ²°κ³Ό |
---|---|
true || anything | true |
false || anything | anything |
true && anything | anything |
false && anything | false |
// λ
Όλ¦¬ν© ||
'ogu' || 'rabbit' // β 'ogu'
false || 'rabbit' // β 'rabbit'
'ogu' || false // β 'ogu'
'ogu' || 'rabbit' // β 'ogu'
// λ
Όλ¦¬κ³± &&
'ogu' && 'rabbit' // β 'rabbit'
false && 'rabbit' // β false
'ogu' && false // β false
β‘οΈλ¨μΆ νκ°λ₯Ό νμ©νμ¬ if λ¬Έ λ체νκΈ°
Truthy κ°μΌ λ && μ¬μ©
let done = true;
let message = ''; // λΉ λ¬Έμμ΄
//μ£Όμ΄μ§ μ‘°κ±΄μ΄ true μΌ λ
if (done) message = 'μλ£'
//doneμ΄ true λΌλ©΄ messageμ 'μλ£'ν λΉ
message = done && 'μλ£';
console.log(message); // μλ£
Falsy κ°μΌ λ || μ¬μ©
let done = false;
let message = ''; // λΉ λ¬Έμμ΄
//μ£Όμ΄μ§ μ‘°κ±΄μ΄ false μΌ λ
if (!done) message = 'λ―Έμλ£'
//doneμ΄ false λΌλ©΄ messageμ 'λ―Έμλ£'ν λΉ
message = done || 'λ―Έμλ£';
console.log(message); // λ―Έμλ£
If ... else
let done = true;
let message = ''; // λΉ λ¬Έμμ΄
//μΌν 쑰건 μ°μ°μ
if (done) message = 'μλ£'
else message = 'λ―Έμλ£'
console.log(message); // μλ£
// if... else λ¬Έμ μΌν 쑰건 λ―Έμλ£';
console.log(message); // μλ£
: ES11μ λμ
λ μ΅μ
λ 체μ΄λ μ°μ°μ ?.
λ μ’νμ νΌμ°μ°μκ° null λλ undefinedμΈ κ²½μ° undefinedλ₯Ό λ°ννκ³ , κ·Έλ μ§ μμΌλ©΄ μ°νμ νλ‘νΌν°λ₯Ό μ°Έμ‘°νλ€.
let str = '';
let length = str?.length;
console.log(length); // 0
// λ³μ strμ΄ λΉ λ¬Έμμ΄μ΄κΈ° λλ¬Έμ falsyνμ¬λ null, undefinedκ° μλλ©΄ μ°νμ νλ‘νΌν°λ₯Ό μ°Έμ‘°νλ€.
: ES11μμ λμ
λ null λ³ν© μ°μ°μ ??
λ μ’νμ νΌμ°μ°μκ° null λλ undefinedμΈ κ²½μ° μ°νμ νΌμ°μ°μλ₯Ό λ°ννκ³ , κ·Έλ μ§ μμΌλ©΄ μ’νμ νΌμ°μ°μλ₯Ό λ°ννλ€.
β λ³μμ κΈ°λ³Έ κ°μ μ€μ ν λ μ μ©
λ Όλ¦¬ν©μ΄λ λ Όλ¦¬κ³± μ¬μ©ν λ¨μΆνκ°λ μ λ μ μ©νκ² μΌλ΄λλ€
μ΅μ λ체μ΄λμ μ μ©νκΈ΄ νλ° μ ν¬ λ©ν λμ΄ λ무 λ¨λ°νμ§ μλλ‘ μ‘°μ¬νλΌκ³ νμ ¨μ΄μ νν