π λ³μ
λ³μλ? λ³ν μ μλ μ 보λ₯Ό μλ―Έ, λ³μλ₯Ό μ μΈνκ³ ν λΉνλ€κ³ λ§ν μ μλ€. κ·Έλ¦¬κ³ μ§μ λ κ°μ κ³μ λ³κ²½ν μ μλ€.
ex) var νν¬ = 26;
π λ³μλͺ
μ νκΈ°
- 곡백, νΉμλ¬Έμ, ꡬλμ (. , ? λ±λ±) μ¬μ© λΆκ°λ₯
- $, _ λ μν©μ λ§κ² μ¬μ© κ°λ₯
- μμ½μ΄ κΈμ§ - μ΄λ―Έ jsμμ μ°κ³ μλ λ¨μ΄λ€ ex) console
- λμλ¬Έμ ꡬλΆ
- μ λμ½λ λ¬Έμμ μ΄λͺ¨μ§(μΌλΆ) λͺ¨λ μ¬μ©κ°λ₯νλ μ¬μ©νμ§ μλ κ²μ μ§ν₯
β varλ₯Ό μ¬μ©ν΄μΌ νλ?
- scope(λ²μ)λ₯Ό λ°°μ°κΈ° μ μ μ°μ΅νλ λμ varλ₯Ό μ’ μ°λ€κ° λμ€μλ μ λ μ°μ§ μκΈ°!
- scopeμλ μ μκ³Ό μ§μμ΄ μλ€.
1) μ μ: μ΄λ€ κ³³μμλ μ΄λ € μλ 곡κ°, μ κ·Ό κ°λ₯! νμ§λ§ νμ
μ λΆνΈνκ³ μ€ν΄κ° μκΈ°κΈ° μ½κΈ° λλ¬Έμ νΉμν κ²½μ°λ§ μ
2) μ§μ: λ²μκ° νμ λμ΄ λ³μκ° μμ‘΄
- var λ μλ΅ κ°λ₯νμ§λ§ μ μμ΄ λκΈ° λλ¬Έμ κΌ λΆμ¬μ°μ!
β λ³μ μ μΈ
var a;
var my_name;
β λ³μ ν λΉ
=μ κ°λ€κ° μλ ν λΉ μ°μ°μ(λ°ννλ€)
a = 1;
my_name ="Taehee";
β μ£Όμμ°½μ about:blank --> κΉ¨λν λΉ νλ©΄μΌλ‘ μ½μμ°½ μ΄κ³ μ°μ΅ν μ μλ€.
β console.log();
μ μ₯μ.property(λ°μ΄ν°)
- console : μ μ₯μ, κ°μ²΄μ!
- logλΌλ properyμΈ ν¨μ
π μΈν°νλ¦¬ν° μΈμ΄ vs μ»΄νμΌ μΈμ΄
μλ°μ€ν¬λ¦½νΈλ μΈν°ν리ν°μ΄ μΈμ΄μ ν΄λΉλλ€.
- κΈ°κ³μ΄λ‘ μ΄λ€μ§ μ»΄νμΌμΌλ¬ μΈμ΄κ° μλκ° λ λΉ λ₯΄λ€. cpuκ° λΉ λ₯΄κ² ν΄μν μ μκΈ° λλ¬Έμ΄λ©°, 미리 μμ€μ½λμ μ»΄νμΌλ¬κ° μ€λΉλ μνλ‘ μμνκΈ° λλ¬Έμ΄λ€. (μμ: .exe)
- μΈν°νλ¦¬ν° μΈμ΄μ μ₯μ
1. λ°λ‘ μ€νμ΄ κ°λ₯ β λ³λμ μ€ν νμΌμ΄ X
2. μ»΄νμΌκ³Όμ μμ΄μ μμ , λλ²κΉ
κ·Έλ¦¬κ³ κ°λ°μλμ μ 리
3. νλ«νΌμ λ
립μ μ΄λ€.
π μμν μλ£ vs κ°μ²΄ν μλ£(μμ§ λ°°μ°μ§ μμ, μΆν μΆκ°)
1. μμ νμ
κ°μ²΄λ₯Ό μ μΈν λͺ¨λ νμ
μ λΆλ³ κ°(λ³κ²½ν μ μλ κ°)μ μ μν©λλ€.
β String, Number, Boolean, Symball, Undefined, Null
- null κ°λ°μμ μ€μ(μμΈμ²λ¦¬μμ μ λΊ΄λ¨Ήμ)
nullμ μμμλ£νμΈλ° μμΈμ²λ¦¬λ₯Ό μ λͺ»ν΄μ νμ
μ μ€λΈμ νΈλ‘ μ²λ¦¬ν΄λ²λ¦Ό (μμΈμ²λ¦¬μλͺ»ν¨)
- μ€λΈμ νΈλ κ°μ²΄
- literal(λ¬Έμκ·Έλλ‘) νν --> μ«μ νμ
μ μ«μλ‘, λ¬Έμ κ·Έλλ‘ μ°λ λ°©μ
var num = 10;
- μλ 리ν°λ΄ ννμ΄ μλ μμμλ£ν νν
var num = new Number(1);
- μμμλ£νμ΄ μ μ₯λ λ³μλ₯Ό λ€λ₯Έ λ³μμ ν λΉνλ©΄ κ°μμ²΄κ° λ³΅μ¬λκ³ λ³΅μ¬λ λ³μλ₯Ό λ³κ²½ν΄λ μλ λ³μλ λ³νμ§ μμ΅λλ€.
- νλ² ν λΉλμ΄ κ°μ 볡μ¬ν΄κ°λ©΄, κ·Έ νμ μλμΌλ‘ μ
λ°μ΄νΈκ° μλλ€κ³ μκ°νλ©΄ λ¨.
- new String('hello') -->
μμ±μ ν¨μ, ν¨μμ κ²°κ³Όλ¬Όμ instanceμΈ hello
2. κ°μ²΄ μλ£ν
β Object, Null
π νμ
μμλ΄λ λκ°μ§ λ°©λ²(μ½μμ°½)
1) Object.prototype.toString.call(λ°μ΄ν°).slice(8, -1);
μ°λ¦¬κ° λ°μμ¨ λ°μ΄ν°λ₯Ό λ¬Έμμ΄λ‘ λ°κΎΈλλ°, λ¬Έμμ΄μ 8λ²μ§Έ μΈλ±μ€λΆν°, λ§μ§λ§μμ λλ²μ§Έ μΈλ±μ€κΉμ§ μλΌλ΄κΈ° [object String] μμ μκΈμ λμ΄λ΄κΈ°
2)
var str = 'hello';
str.constructor
π λ³μμ μλ£ν
var λ³μνλ = 20;
var λ³μλ = 10;
var λ³μμ
= 2;
document.write('λ³μνλ : ', λ³μνλ);
document.write('<br>');
document.write('λ³μλ : ', λ³μλ);
document.write('<br>');
document.write('λ³μμ
: ', λ³μμ
);
document.write('<br>');
document.write('λ³μνλ+λ³μλ : ', λ³μνλ+λ³μλ);
document.write('<br>');
document.write('λ³μνλ-λ³μλ : ', λ³μνλ-λ³μλ);
document.write('<br>');
document.write('λ³μνλ/λ³μλ : ', λ³μνλ/λ³μλ);
document.write('<br>');
document.write('λ³μνλ*λ³μλ : ', λ³μνλ*λ³μλ);
document.write('<br>');
document.write('λ³μνλ**λ³μμ
: ', λ³μνλ**λ³μμ
);
document.write('<br>');
document.write('λ³μνλ%λ³μμ
: ', λ³μνλ%λ³μμ
);
β λ³μ μλ£νμ νμ
μ μ μ΄μΌ ν κΉ?NO! λ³μ μλ£νμ λ€μν νμ
μ λ°μ΄ν°λ₯Ό μ¬μ©νκΈ° μν¨μΈλ°, λ€λ₯Έ μΈμ΄μ λ¬λ¦¬ JSμμλ λ°λ‘ λ³μμ νμ
μ μ°μ§ μμλ λλ€!
typeof 'hello world' // String
typeof 100 // Number
typeof NaN // Number
typeof true // Boolean
typeof undefined // undefined
typeof Symbol() // Symbol
typeof null // Object, μ¬κΈ°μλΆν° jsκ° μ΄λ €μ μ§λλ€.
typeof [] // Object, μ¬κΈ°μλΆν° jsκ° μ΄λ €μ μ§λλ€. μ Arrayκ° μλκΉμ?
typeof {} // Object
typeof function () {} // function
typeof /μ κ·ννμ/gi // Object
// Object.prototype.toString.call(λ°μ΄ν°).slice(8, -1);
// λ‘ νμ€νκ² μ μ μμ΅λλ€.
π λ³μ μλ£ν - λ¬Έμ
const μ΄λ¦ = 'κΉνν¬';
const μμ = 'λ©μμ΄ μ¬μλ€ FE 2κΈ°';
let μ£Όμ = 'μΆμ²';
μ£Όμ = 'μμΈ';
document.write(μ΄λ¦, '<br>');
document.write(μμ, '<br>');
document.write(μ£Όμ, '<br>');
// [] indexλ²νΈλ 0λΆν° μμ, λμ΄μ°κΈ°λ λ¬Έμμ΄ ν¬ν¨
document.write(μμ[2], '<br>');
document.write(μμ[6], '<br>');
(κ²°κ³Ό)
π λ³μ μλ£ν - μ«μ
β parseInt(string,radix-μ§μ)
- λ¬Έμν μ«μ
- μ μ κ°μ λ°ννκΈ° μν΄ μμμ μ΄ν κ°μ μλ¦
- μ«μκ° μλ λ¬Έμλ₯Ό λ§μ£ΌμΉλ κ²½μ° λ¬Έμμ΄μ κΉμ§ νμ±, λ¬Έμμ κ·Έ μ΄νλ λͺ¨λ 무μ
- μ ν λ° νν 곡백μ νμ©
β λΆλμμμ
- μ¬λμ΄ λ³΄κΈ°μλ 0.1 + 02 = 0.3μ΄ λΉμ°νκ² μκ°λ μ μλ€.
- κ·Έλ¬λ μ»΄ν¨ν°λ 2μ§μλ‘ μ²λ¦¬λ₯Ό νκΈ° λλ¬Έμ μ ννκ² 0.3μ΄ λλ κ²μ΄ μλλ€.
- λͺ¨λ μ«μκ° λ€ λΆλμμμ μΌλ‘ ννλλ 건 μλκ³ , μΌλΆλ 10μ§μμ²λΌ λ± λ¨μ΄μ§λ κ²½μ°λ μλ€.
β Max_SAFE_INTEGER
ν΄κ²° λ°©λ²: BigInt("");
π μ«μν method
Math.λ©μλ(μΈμ)
β randome()μ μ΄μ©νμ¬ μνλ μ λ½λ λ°©λ²
κ·μΉ 1. Math.floor(Math.random()*9); -->0~8
- κ³±νλ μλ³΄λ€ νλ μμ μκΉμ§ λμ€κ²λλ€
- ν μ리μ μ€ λλ€(λ‘λμ²λΌ): Math.floor(Math.random()*10); --> 0~9
κ·μΉ 2. Math.floor(Math.random()*9 + 5); 5~ 13
π ν
νλ¦Ώ 리ν°λ΄ λ°±ν±??
document.write(n : ${n} <br>
);
- μμ νκΈ° νΈνκ² νκΈ° μν΄μ
document.write(n.toLocaleString() : ${n.toLocaleString()} <br>
);
document.write(s.replace(/,/g, '') : ${s.replace(/,/g, '')} <br>
);
- μ 체μμ μ½νλ₯Ό μ°Ύμ ""λΉλ¬Έμλ‘ λ§λ€μ΄λΌ
- /,/g --> μ κ·νν
- μ κ· ννμ΄ μλ κ²μ 맨 μ²μ λ¬Έμλ§ λ°κΏμ€
console.log(p.replace('dog','monkey')) μ΄κ±΄ μ κ·νν μλ, κ·Όλ°
replaceall λͺ
λ Ήμ μ°λ©΄ μ κ·μμ²λΌ μ 체 ν΄λΉ λ¬Έμ λ°κΏ μ μ΄μ
document.write(parseInt(s, 10) : ${parseInt(s, 10)} <br>
);
- μ«μν λ¬Έμ
- parseFloat: μμμ μ²λ¦¬
- λ λ€ μ«μλ§ , μ«μλ¬Έμμ«μλ©΄ μμ μ«μλ§ κΊΌλ΄μ§
document.write(n.toFixed(10) : ${n.toFixed(10)} <br>
);
- μνλ μμ«μ μ리κΉμ§λ§ μλΌμ€