μ€ν°λ/KAKAOCLOUDSCHOOL
[JavaScript] κ°λ°μ μ§λ§μ μ€ν°λ - 3μΌμ°¨
shineIT
2022. 11. 4. 23:21
JavaScript
π‘νλ‘κ·Έλλ° μΈμ΄μ μ€ν λ°©μ
π μμ€ μ½λ μ 체λ₯Ό λ²μν΄μ λΉλλ₯Ό μνν ν μ€ννλ λ°©μ - C & C++, C#, Java λ±
π μ€ λ¨μλ‘ λ²μνλ©΄μ μ€ννλ λ°©μ - Python, JavaScript λ± (μλμͺ½μ μλ¬κ° μλλΌλ μμͺ½μ μ½λλ μ€ν κ°λ₯)
β JavaScript
- μΉ νμ΄μ§μ λμ μ²λ¦¬λ₯Ό ν₯μμν€κΈ° μν λͺ©μ μΌλ‘ νμν μΈμ΄ - λ·μ€μΌμ΄ν μ¬μμ κ°λ°
- λ¬Έλ²μ μΌλ‘λ Java μ μλ¬΄λ° κ΄λ ¨μ΄ μκ³ Javaμ λͺ λͺ ν΄λμ€λ₯Ό κ°μ Έμμ μ¬μ©
- κΈ°λ³Έμ μΌλ‘λ μΉ λΈλΌμ°μ λ΄μμλ§ λμνλ ν΄λΌμ΄μΈνΈ κΈ°λ°μ μΈμ΄
- μ»΄νμΌ νμ§ μκ³ μΉ λΈλΌμ°μ μ μλ JavaScript Interpreter Engine μ΄ ν΄μν΄μ μ€ν
- μ λμ½λλ₯Ό μ¬μ©νκ³ λμλ¬Έμλ₯Ό ꡬλ³
- λμ λ°μΈλ©(Dynamic Binding): μ€νν λ λ©λͺ¨λ¦¬μ ν¬κΈ°κ° κ²°μ λ¨
- μ΄λ¦μ λ§λ€ λλ λ©λͺ¨λ¦¬ κ³΅κ° ν보λ₯Ό νμ§ μκ³ μ€μ λ°μ΄ν°κ° λμ λ λ λ©λͺ¨λ¦¬ 곡κ°μ ν보
- κ°μ²΄ κΈ°λ° μΈμ΄: ν΄λμ€λ₯Ό λ§λ€μ§ μκ³ λ°λ‘ κ°μ²΄λ₯Ό μμ±ν΄μ μ¬μ©νλ κ²μ΄ κ°λ₯
- μ΅κ·Όμλ ν΄λμ€λ₯Ό λ§λλ λ¬Έλ²μ΄ μΆκ° - ES6, TypeScript
- HTML5 μ κΈ°λ° μΈμ΄
- λ§μ λΌμ΄λΈλ¬λ¦¬κ° μ‘΄μ¬
- jQuery: ν¬λ‘μ€ λΈλΌμ°μ§(νλμ μ½λλ‘ μ¬λ¬ λΈλΌμ°μ μμ μνλλλ‘)μ μ§μνκΈ° μν΄ λ±μ₯
- express.js, node.js: Application Serverλ₯Ό λ§λ€κΈ° μν λΌμ΄λΈλ¬λ¦¬
- angular, react, vue: SPA(Single Page Applicaiton) ꡬνμ μν λΌμ΄λΈλ¬λ¦¬
- d3js: κ·Έλν ꡬνμ μν λΌμ΄λΈλ¬λ¦¬
- bootstrap: λ°μν μΉ λμμΈμ μ½κ² ν΄μ£Όλ λΌμ΄λΈλ¬λ¦¬
- react-native, ionic: λͺ¨λ°μΌ μ± κ°λ°μ μν λΌμ΄λΈλ¬λ¦¬
- eletron: pc μ© μ± κ°λ° :
- π M(Mongo DB)E(Express.js)A(Angular.js)N(Node.js), MER(React.js)N
- μ’
λ₯
- ECMA 5 - ES5: 2015λ μ΄μ μ μλ°μ€ν¬λ¦½νΈ
- ECMA 2015 ~ : ES6 λΆν° μμνλλ° λ§€λ λ°ν, ESNext
- ESNext μ Type μ μΆκ°ν MS μ TypeScript
β μμ±
- μΈλΆμ μμ±ν΄μ λΆλ¬λ€μ΄λ λ°©μ
<script src="μλ°μ€ν¬λ¦½νΈ νμΌμ κ²½λ‘"></script>
-
- μλ°μ€ν¬λ¦½νΈ νμΌμ νμ₯μλ jsλ₯Ό μ£Όλ‘ μ¬μ©
- νμ μ€ν¬λ¦½νΈ νμΌμ νμ₯μλ tsλ₯Ό μ£Όλ‘ μ¬μ©
- reactμμ μ»΄ν¬λνΈ νμΌμ νμ₯μλ₯Ό ꡬλ³νκΈ° μν΄μ jsx λ₯Ό μ¬μ©
- HTML νμΌ λ΄λΆμ μ€ν¬λ¦½νΈ μμμ λ§λ€μ΄μ μ¬μ© : <script> λ΄μ© </script>
- νκ·Έ μμ μ¬μ© : <νκ·Έ μ΄λ²€νΈ="μ€ν¬λ¦½νΈ μ½λ" ... />
- κ°λ μ±μ΄ λ¨μ΄μ§
β κ·μΉ
- HTML κ³Ό JavaScriptλ μμμλΆν° μ½μ΄μ μμ°¨μ μΌλ‘ μ€ν
- HTMLμ μμ±λ νκ·Έλ€μ JavaScriptμμ μ¬μ©μ ν λλ λ©λͺ¨λ¦¬μ λ‘λκ° λκ³ λ μ΄νμ μ¬μ©.
- JavaScriptλ ν μ€μ 2κ° μ΄μμ μ€νλ¬Έμ΄ μ¬ λ, μ΄λ₯Ό ꡬλΆνκΈ° μν΄μ μΈλ―Έμ½λ‘ (;)μΌλ‘ ꡬλΆν΄μΌ ν¨. ν μ€μ νλμ λͺ λ Ήλ¬Έλ§ μ€λ κ²½μ°λ μΈλ―Έμ½λ‘ (;)μ νμ§ μμλ λμ§λ§, κ°λ μ±κ³Ό κ°λ°μμ κ΄μ΅μΌλ‘ μΈλ―Έμ½λ‘ (;)μ μμ±νλ κ²μ΄ μΌλ°μ μ.
- μ£Όμ
- ν μ€ μ£Όμμ // λ€μ μμ±
- μ¬λ¬ μ€ μ£Όμμ /* λ΄μ© */ μμ μμ±
- μλ κ·Έλλ‘ ν΄μ
- <![CDATA[]]> μμ [] μμ μμ±ν λ΄μ©μ ν΄μνμ§ μκ³ νλμ λ¬Έμμ΄λ‘ νλ¨ν¨.
β κ΅¬μ± μμ
- Keyword(μμ½μ΄)
- JavaScriptμμ μλ―Έλ₯Ό λΆμ¬ν λ¨μ΄ : μλ―Έ λ³κ²½μ΄ μλ¨
- Control Character(μ μ΄λ¬Έμ): νλ‘κ·Έλλ° μΈμ΄μμ \ λ€μμ μλ¬Έμ νλλ₯Ό μΆκ°ν΄μ κΈ°λ₯μ λΆμ¬ν λ¬Έμ
- \n: μ€ λ°κΏ
- \t: ν
- \': μμ λ°μ΄ν
- \": ν° λ°μ΄ν
- \\: \
- \0: null
- Identifier
- μ¬μ©μκ° μλ―Έλ₯Ό λΆμ¬ν λ¨μ΄
- Keywordλ μ¬μ©νλ©΄ μλ¨
- μ«μλ‘ μμ X
- νΉμλ¬Έμλ _ μ $ λ§ κ°λ₯
- μ€κ° 곡백 μλ¨
- Data
- Literal: μ¬μ©μκ° μ§μ μ
λ ₯νλ λ°μ΄ν°
- μ«μμ κ²½μ°λ μ μ μ μ€μ ννλ‘ μμ±: 19, 28.4 -> 10μ§μ ννλ‘ μμ±
- λ¬Έμμ΄μ κ²½μ°λ μμ λ°μ΄ν λ ν° λ°μ΄ν μμ κΈ°μ¬ -> 'a', "a"...
- μλ°μ€ν¬λ¦½νΈλ λ¬Έμ μ λ¬Έμμ΄μ ꡬλΆνμ§ μμ
- Boolean μ κ²½μ°λ true μ false
- null: κ°λ¦¬ν€λ κ²μ΄ μμ
- Variable(Identifier): λ°μ΄ν°μ λΆμΈ μ΄λ¦
- μΌλ°μ μΈ λ°μ΄ν°: κ°μ΄λ κ°λ€μ λͺ¨μ
- ν¨μ: κΈ°λ₯μ μννλ μ½λμ λͺ¨μ
- κ°μ²΄: λ°μ΄ν° λ ν¨μμ λͺ¨μ
- μ΄λ¦μ μμ±νκ³ λ°μ΄ν°λ₯Ό λμ
- var(let, const) μ΄λ¦ = λ°μ΄ν°;
- Literal: μ¬μ©μκ° μ§μ μ
λ ₯νλ λ°μ΄ν°
β μΆλ ₯
- λΈλΌμ°μ νλ©΄μ μΆλ ₯
- document.write(μΆλ ₯ν λ΄μ©): λ²νΌμ λͺ¨μμ μΆλ ₯
- document.writeln(μΆλ ₯ν λ΄μ©): λ°λ‘ λ°λ‘ μΆλ ₯, μ€λ°κΏλ ν΄μ€ - HTMLμμλ νκ·Έλ₯Ό μ΄μ©ν΄μ μ€ λ°κΏμ ν¨.
- λνμμμ μΆλ ₯
- alert(μΆλ ₯ν λ΄μ©)
- λλ²κ·Έ μ½μμ μΆλ ₯
- console.log(μΆλ ₯ν λ΄μ©)
- μ½μμ μΆλ ₯νλ©΄ λΈλΌμ°μ νλ©΄μλ 보μ΄μ§ μκ³ λΈλΌμ°μ μ console μ°½μ΄λ IDEμ console μ°½μ 보μ.
- console.log(μΆλ ₯ν λ΄μ©)
β Data μ λΆλ₯
- Immutable Data(λ³κ²½ λΆκ°λ₯ν λ°μ΄ν° - μ¬λ¬ κ³³μμ κ°μ΄ μ¬μ©νκ±°λ μ΅μ ) μ Mutable Data(λ³κ²½ κ°λ₯ν λ°μ΄ν°)
- Scala Data(1κ°μ λ°μ΄ν°) μ Vector Data(0κ° μ΄μμ λ°μ΄ν° - List μ Map)
- μ΄λ¦μλ νλμ λ°μ΄ν°λ§ λ§€ν κ°λ₯
- Scala Data μ κ²½μ°λ μ΄λ¦μ΄ λ°μ΄ν°λ₯Ό μλ―Ένμ§λ§ Vector Data κ°μ κ²½μ°λ μ΄λ¦ μ΄μΈμ λ³λμ 무μμΈκ°κ° μΆκ°λμ΄μΌ λ°μ΄ν°λ₯Ό μλ―Έ. [μΈλ±μ€] λλ .μ΄λ¦
- λ°μ΄ν°μ λͺ¨μμ λ°λ₯Έ λΆλ₯
- μ ν λ°μ΄ν°: λͺ¨λ λ°μ΄ν°μ λͺ¨μμ΄ μΌμ - class, RDBMS
- λΉμ ν λ°μ΄ν°: λ°μ΄ν°μ λͺ¨μμ΄ μΌμ νμ§ μμ κ² - Map, NoSQL
- λ°μ ν λ°μ΄ν°: λͺ¨μμ μΌμ νμ§ μμ κ² μ²λΌ 보μ΄μ§λ§ μ νμΌλ‘ λ§λ€ μ μλ λ°μ΄ν° - xml, json λ±
β Variable (λ³μ) : λ°μ΄ν°μ λΆμ΄λ μ΄λ¦
- λΆλ₯
- Local Variable(μ§μ λ³μ) - μμ μ μμ(μλ°μ€ν¬λ¦½νΈ λ μλ°μμλ { }μ μμμΌλ‘ κ°μ£Ό) λ΄μμλ§ μ¬μ©μ΄ κ°λ₯
- Member Variable(λ©€λ² λ³μ) - λκ΅°κ°(ν΄λμ€ λ μΈμ€ν΄μ€)μ μμλ λ³μ
- Global Variable(μ μ λ³μ) - μμ μΈλΆμμ μ μΈν΄μ λͺ¨λ κ³³μμ μ¬μ©μ΄ κ°λ₯
- μ μΈ(μμ±) λ°©λ²
μ΄λ¦;// μ΄λ κ² λ§λ€λ©΄ μ μ λ³μ
var(let λλ const) μ΄λ¦; // μ§μ λ³μ λ λ©€λ² λ³μ
-
- ν¨μ λ΄μμ var λ let, const μμ΄ μ΄λ¦μ λ§λ€λ©΄ ν¨μκ° νΈμΆλ μ΄νμλ μ΄λμλ μ§ μ¬μ©ν μ μκ² λμ΄ λ²λ¦Ό
- var λ let μ΄λ const μ ν¨κ» λ§λ€μ΄μ§λ©΄ μμ μ μμ λ΄μμλ§ μ¬μ©μ΄ κ°λ₯
- μ΅κ·Όμλ var λ let μ΄λ const μμ΄ μ΄λ¦ λ§λλ κ²μ μ νμ§ μμ.
- λ°μ΄ν°μ μ°Έμ‘°λ₯Ό λμ
- μ΄λ¦ = λ°μ΄ν°;
- λ°μ΄ν°λ 리ν°λ΄ μ΄λ λ€λ₯Έ λ³μ λλ μ½λ κ°λ₯
- λ³μλ₯Ό μ μΈνλ©΄μ λμ
- var(let λλ const) μ΄λ¦ = λ°μ΄ν°;
- var λ let λλ const λΌλ λ¨μ΄μμ΄ μλ‘μ΄ μ΄λ¦μ λ§λλ κ²λ κ°λ₯
- μ΄λ¦μ λ§λ€ λλ κΈ°μ΅νκΈ° μ’μμΌ νκ³ μ΄λ¦λ§μΌλ‘ λ°μ΄ν°λ₯Ό μμΈ‘ν μ μμ΄μΌ ν¨.
- let
- var ν€μλμ λ¬Έμ μ μ ν΄κ²°νκΈ° μν΄μ λ±μ₯
- λμΌν scope μμμ λμΌν μ΄λ¦μ let λ³μλ₯Ό μ μΈν μ μκ³ μ¬μ©λ§ ν΄μΌ ν¨
<script>
var x = 1000;//1000 μ΄λΌλ λ°μ΄ν°μ μ°Έμ‘°λ₯Ό x μ λμ
x = 100; //100μ΄λΌλ λ°μ΄ν°μ μ°Έμ‘°λ₯Ό xμ λμ
- μμ
//λμΌν μ΄λ¦μ κ³μν΄μ μμ±νλ κ²μ΄ κ°λ₯ - μ€μ λ‘λ μμ
var x = 2000; //2000 μ΄λΌλ λ°μ΄ν°μ μ°Έμ‘°λ₯Ό x μ λμ
let y = 1000;//1000 μ΄λΌλ λ°μ΄ν°μ μ°Έμ‘°λ₯Ό y μ λμ
y = 100; //100μ΄λΌλ λ°μ΄ν°μ μ°Έμ‘°λ₯Ό yμ λμ
- μμ
//λμΌν μ΄λ¦μ κ³μν΄μ μμ±νλ κ²μ΄ λΆκ°λ₯
//var y = 2000; //2000 μ΄λΌλ λ°μ΄ν°μ μ°Έμ‘°λ₯Ό y μ λμ
</script>
-
- hostingμ΄ λμ§ μμ
- hosting: μ΄λ¦μ λ§λ€κΈ° μ μ μ¬μ©νλ κ²
- var λ hostingμ΄ κ°λ₯
- undefined: μ‘΄μ¬νμ§ μλ μ΄λ¦μΌλ‘ null κ³Όλ λ€λ¦
- μ΄λ¦μ λ§λ€κ³ λ°μ΄ν°λ₯Ό λμ νμ§ μκ±°λ μ΄λ¦μ΄ μ‘΄μ¬νμ§ μλ κ²½μ°
- hostingμ΄ λμ§ μμ
<script>
//x λ var λ‘ μ μΈλμ λ§λ€κΈ° μ μ νΈμΆνλ©΄ undefined
console.log(x);
var x = 100;
console.log(x);
//y λ letμΌλ‘ μ μΈλμ λ§λ€κΈ° μ μ νΈμΆνλ©΄ error
console.log(y);
let y = 100;
console.log(y);
</script>
-
- λμΌν λΈλμμ letμ μ΄μ©ν΄μ λ λ² μμ±νλ κ²μ μλμ§λ§ λΈλ‘μ΄ λ€λ₯΄λ©΄ κ°λ₯.
- λΈλμ΄ λ³κ²½λκ±°λ μλ‘ λ§λ€μ΄μ§λ©΄ μ΄λ¦ 곡κ°μ΄ μλ‘ λ§λ€μ΄μ§κΈ° λλ¬Έ
<script>
let data = 10;
console.log("data:" + data);
//λ¬Έμμ΄ κ³Ό λ°μ΄ν°λ₯Ό + νλ©΄ λ°μ΄ν°λ₯Ό λ¬Έμμ΄λ‘ λ³νν΄μ κ²°ν©
data = 20; //κΈ°μ‘΄ λ°μ΄ν°κ° μ°Έμ‘°νκ³ μλ λ°μ΄ν°λ₯Ό μμ
{
//κΈ°μ‘΄ λ°μ΄ν°μ κ°μ λ³κ²½νλ κ²μ΄ μλκ³ μλ‘μ΄ μμμ dataλ₯Ό λ§λλ κ²μ
λλ€.
//μ¬λ¬ λΈλμ λμΌν μ΄λ¦μ΄ μ¬λ¬ κ° μ‘΄μ¬νλ©΄ μμ μ λΈλμμ κ°κΉμ΄ λΈλμ λ§λ κ²μ μ°μ ν©λλ€.
let data = 2022;
console.log("data:" + data);//κ°κΉμ΄ κ³³μμ λ§λ 2022
}
console.log("data:" + data); //μ΄μ λ΄λΆ λΈλμ΄ μλ€κ³ 보면 20
//let λμ μ varλ₯Ό μ¬μ©νλ©΄ λ΄λΆ λΈλμμ μΈλΆ λΈλμ λ°μ΄ν°λ₯Ό νΈμΆν μ μμ΅λλ€.
</script>
- const - constant μ μ½μλ‘ μΌλ°μ μΌλ‘ μμλΌκ³ ν¨
- λ°μ΄ν°λ₯Ό λ³κ²½νμ§ λͺ»νλλ‘(immutable) ν λ μ¬μ©νλ ν€μλ
- λ°μ΄ν°λ₯Ό λ³κ²½νμ§ λͺ»νλ€λ κ²λ§ μ μΈνκ³ λ let κ³Ό λμΌ
- const μ΄λ¦ = λ°μ΄ν°;
- μ΄λ¦μ΄ μ°Έμ‘°νλ λ°μ΄ν°λ₯Ό λ³κ²½ν μ μμ
const con = 1000;
//con = 2000; //constant variable μ λ°μ΄ν°λ₯Ό λ³κ²½ν μ μμ΄μ μλ¬
- Naming λ°©λ²
- Camel νκΈ°λ²
- μΌλ°μ μΈ λ³μ μ ν¨μλ μλ¬Έμλ‘ μμ
- 2κ° λ¨μ΄ μ΄μμ μ‘°ν©μ΄λ©΄ λλ²μ§Έ λ¨μ΄μ μμμ λλ¬Έμλ‘ μμ
- ν΄λμ€ μ΄λ¦μ λλ¬Έμλ‘ μμ
- Snake νκΈ°λ²
- μμλ λͺ¨λ λλ¬Έμλ‘ νκΈ° - const CON = 1000;
- νκ±°λ¦¬μΈ νκΈ°λ² : μ΄λ¦μ μλ£νμ νν
- byte λ boolean -> b
- μ μ -> n
- λ¬Έμ -> ch
- μ€μ -> f
- λ¬Έμμ΄ -> str
- Camel νκΈ°λ²
β λ°μ΄ν° νμ (Data Type - μλ£ν)
: λ°μ΄ν°λ₯Ό μ΄λ»κ² μΌλ§λ§νΌμ 곡κ°μ μ μ₯νκ³ μ΄λ»κ² μ½μ κ² μΈκ° νλ λ¬Έμ
- μ«μ - Number
- μ μ μ μ€μλ₯Ό 2μ§μλ‘ λ³νν΄μ μ μ₯
- μ€μλ₯Ό κ°μ§κ³ μ°μ°μ ν λλ μ£Όμ
<script>
console.log((1.0-0.8) == 0.2); //false
var sum = 0;
for(var i=0; i<1000; i++){
sum = sum + 0.1;
}
console.log(sum); //99.999...86
</script>
- λ¬Έμμ΄ - String
- μμ± : μμ λ°μ΄ν (') λ ν° λ°μ΄ν (") μ¬μ΄μ λ¬Έμλ₯Ό λμ΄νκ±°λ new String(' λ " μ¬μ΄μ λ¬Έμ λμ΄)
- λ¬Έμμ΄ λ΄μμ μ€ λ°κΏμ νκ³ μ νλ κ²½μ°λ \n μ μ΄μ©
- λ¬Έμμ΄μ λ€λ₯Έ λ°μ΄ν° μ + μ°μ°μ νλ©΄ κ·Έ λ°μ΄ν°μ toString μ΄λΌλ λ©μλλ₯Ό νΈμΆν΄μ λ¬Έμμ΄λ‘ λ³νν ν κ²°ν©
- Boolean
- true λλ false
- new Boolean(true λλ false)
- undefined
- μ΄λ¦μ μ‘΄μ¬νλλ° μμ§ λ°μ΄ν°κ° μ€μ λμ§ μμκ±°λ μ΄λ¦μ΄ μ‘΄μ¬νμ§ μλ κ²½μ°
- null
- μ΄λ¦μ μ‘΄μ¬νλλ° κ°λ¦¬ν€λ λ°μ΄ν°κ° μμ
- undefined μ null μ == λ‘ λΉκ΅νλ©΄ λμΌνλ€κ³ κ²°κ³Όκ° λ¦¬ν΄
- λ°μ΄ν°μ μλ£ν νμΈ typeof λ°μ΄ν°
- λ°°μ΄(array - list)
- λμΌν μλ£νμ μ°μμ μΈ λͺ¨μ: λ¬Έλ²μ μΌλ‘λ μλ£νλ§ λμΌνλ©΄ λμ§λ§ μ€μ λ‘λ λΉκ΅κ° κ°λ₯ν λ°μ΄ν°λ§ λ¬Άμ΄μΌ ν¨
- JavaScriptμμλ λͺ¨λ λ°μ΄ν°κ° λ°μ΄ν°μ μ°Έμ‘°λ₯Ό κΈ°μ΅νκΈ° λλ¬Έμ λμΌν μλ£νμ΄λΌκ³ ν μ μμ.
- μμ±
- λμΌν μλ£νμ μ°μμ μΈ λͺ¨μ: λ¬Έλ²μ μΌλ‘λ μλ£νλ§ λμΌνλ©΄ λμ§λ§ μ€μ λ‘λ λΉκ΅κ° κ°λ₯ν λ°μ΄ν°λ§ λ¬Άμ΄μΌ ν¨
var(let λλ const) λ°°μ΄μ΄λ¦ = [κ°μ λμ΄];
var(let λλ const) λ°°μ΄μ΄λ¦ = new Array(κ°μ λμ΄);
var(let λλ const) λ°°μ΄μ΄λ¦ = new Array(μ μ 1κ°); //μ μ κ°μ λ§νΌ λ°μ΄ν°μ μ°Έμ‘°λ₯Ό μ μ₯ν μ μλ 곡κ°μ ν보
- λ°°μ΄μ κ° μμμ μ κ·Ό
- λ°°μ΄μ΄λ¦[μΈλ±μ€]
- μΈλ±μ€λ 0λΆν° μμν΄μ λ°μ΄ν°κ°μ - 1κΉμ§
- λ°°μ΄μ΄λ¦.length λ λ°μ΄ν°μ κ°μλ₯Ό 리ν΄
- λ°°μ΄μ΄λ¦.toString() μ κ° μμμ toString()μ ν΄μ κ²°κ³Όλ₯Ό νλμ λ¬Έμμ΄λ‘ 리ν΄
- μΆλ ₯νλ λ©μλμ λ°°μ΄μ΄λ¦μ λμ νλ©΄ toStringμ νΈμΆνκΈ° λλ¬Έμ μΆλ ₯ν λλ toStringμ νΈμΆνμ§ μμλ λ¨.
- valueOf() λ join(ꡬλΆλ¬Έμμ΄)μ μ΄μ©ν΄μλ λ΄λΆ λ°μ΄ν°λ₯Ό νμΈν μ μμ.
<script>
var ar = ["카리λ", "μ§μ €", "μν°", "λλ"];
console.log("λ°μ΄ν° κ°μ:" + ar.length);
//λͺ¨λ λ°μ΄ν°λ₯Ό λΉ λ₯΄κ² νμΈ
console.log(ar.toString());
//μΆλ ₯νλ λ©μλμ μ΄λ¦μ λμ
νλ©΄ toString()μ νΈμΆν΄μ κ²°κ³Όλ₯Ό νλμ
//λ¬Έμμ΄λ‘ μΆλ ₯
console.log(ar);
//νλμ© μΆλ ₯
console.log(ar[0]);
//console.log(ar[4]); //μλͺ»λ μΈλ±μ€ λμ
- undefined
</script>
- λ°μ΄ν°μ μλ£ν λ³ν
- λ¬Έμμ΄μ μ«μ λ BooleanμΌλ‘ λ³νν λλ Number(λ¬Έμμ΄) λλ Boolean(λ¬Έμμ΄)
- λ€λ₯Έ μ’
λ₯μ λ°μ΄ν°λ₯Ό λ¬Έμμ΄λ‘ λ³κ²½ν λλ toString()μ νΈμΆνλ©΄ λ¨.
- λ¬Έμμ΄λ‘ λ³ννλ μ΄μ λ μΆλ ₯μ μν΄μ
- μ«μ λ Boolean μΌλ‘ λ³ννλ μ΄μ λ μ½μ΄μ¨ λ°μ΄ν°κ° μ«μ λ Boolean μ΄ μλ λ¬Έμμ΄μ΄μ΄μ μ°μ°μ΄ μλλ κ²½μ° μ°μ°μ μννκΈ° μν΄μ
<script>
console.log("23" + "76");
console.log(Number("23") + Number("76"));
var input = prompt("μ«μλ₯Ό μ
λ ₯νμΈμ");
console.log(typeof input);
console.log(input + 4);
</script>
β Operator(μ°μ°μ) : μ°μ°μ μνν΄μ£Όλ λΆνΈ λ κΈ°νΈ λ° λͺ λ Ήμ΄
- μ°μ°μμ κ°μμ λ°λ₯Έ λΆλ₯
- Unary(λ¨ν) μ°μ°μ: λ°μ΄ν°(νΌμ°μ°μ)κ° 1κ°λ§ μμΌλ©΄ μνλλ μ°μ°μ
- Binary(μ΄ν) μ°μ°μ: λ°μ΄ν°(νΌμ°μ°μ)κ° 2κ° μμΌλ©΄ μνλλ μ°μ°μ
- Ternary(μΌν) μ°μ°μ: λ°μ΄ν°(νΌμ°μ°μ)κ° 3κ° μμΌλ©΄ μνλλ μ°μ°μ
- μ°μ°μ κ²°κ³Όμ λ°λ₯Έ λΆλ₯
- μ°μ μ°μ°: μ«μ μ체λ₯Ό κ°μ§κ³ μ°μ°ν΄μ κ²°κ³Όλ₯Ό μ«μ ννλ‘ λ¦¬ν΄νλ μ°μ°μ
- λ Όλ¦¬ μ°μ°: true μ false ννλ‘ μ°μ°ν΄μ κ²°κ³Όλ₯Ό Boolean ννλ‘ λ¦¬ν΄νλ μ°μ°μ
- ν λΉ μ°μ°μ
- =
- μΌμͺ½μλ μ΄λ¦(λ³μ)μ΄ μμΌ νκ³ μ€λ₯Έμͺ½μλ λ°μ΄ν°(리ν°λ΄, λ³μ λ μμ, κ³μ°μ, ν¨μ νΈμΆ, ν¨μ μμ± κ΅¬λ¬Έ λ±)κ° μ€λ©΄ λλλ° μ€λ₯Έμͺ½ λ°μ΄ν°μ μ°Έμ‘°λ₯Ό μΌμͺ½μ μ΄λ¦μ΄ κ°λ¦¬ν€λλ‘ ν΄μ£Όλ μ°μ°μμ.
- μ¦κ° μ°μ°μ :
- λ¨ν μ°μ°μλ‘ μ μ λ³μμλ§ μ¬μ©μ΄ κ°λ₯ν μ°μ°μ
- ++ : μ μ λ³μμ λ°μ΄ν°λ₯Ό 1μ¦κ°μν€λ μ°μ°μ
- -- : μ μ λ³μμ λ°μ΄ν°λ₯Ό 1κ°μμν€λ μ°μ°μ
- μ°μ°μμ μμΉκ° λ°μ΄ν°μ μλ κ°λ₯νκ³ λ€λ κ°λ₯
- λͺ λ Ήλ¬Έ μμμ μ¬μ©λλ€λ©΄ μμ λΆμ κ²½μ°λ μ¦κ°μ λ¨Όμ νκ³ λͺ λ Ήμ μ΄μ©
- λ€μ λΆμ κ²½μ°λ λ°μ΄ν°λ₯Ό λͺ λ Ήμ μ¬μ©νκ³ μ¦κ°μν΄
- λ¨ν μ°μ°μλ‘ μ μ λ³μμλ§ μ¬μ©μ΄ κ°λ₯ν μ°μ°μ
<script>
var data = 20;
data++;
console.log(data); //21
console.log(data++); //++ κ° λ€μ λΆμ΄μ dataλ₯Ό λͺ
λ Ήλ¬Έμ μ¬μ©νκ³ 1 μ¦κ°
console.log(++data); //++ κ° μμ λΆμ΄μ dataλ₯Ό 1μ¦κ°μν€κ³ λͺ
λ Ήλ¬Έμ μ¬μ©
</script>
- μ¬μΉ μ°μ°μ
- +, - , *, /, **
- % : λλ¨Έμ§ κ΅¬ν΄μ£Όλ μ°μ°μ - μΌμ ν ν¨ν΄μ κ°λ μμ μ΄λ μ½λμ μ ν¨μ±μ λΉ λ₯΄κ² κ²μ¬νκ³ μ ν λ μ¬μ©
if(i % 3 == 0)
document.write("λΉ¨κ°");
if(i % 3 == 1)
document.write("νλ");
if(i % 3 == 2)
document.write("λ
Έλ");
- λΉκ΅ μ°μ° : >, >= , <, <=: ν¬κΈ°λ₯Ό λΉκ΅ν΄μ BooleanμΌλ‘ 리ν΄, λ¬Έμμ΄λ κ°λ₯
- == : κ°λ€ μΈλ° μλ£νμ νμΈνμ§ μμ
- != : λ€λ₯΄λ€ μΈλ° μλ£νμ νμΈνμ§ μμ
- === : μλ£νκΉμ§ μΌμΉν΄μΌλ§ true
- !== : κ°μ΄λ μλ£ν λ μ€μ νλλ§μ΄λΌλ λ€λ₯΄λ©΄ true
<script>
console.log(1 > 2);
console.log("ABC" > "BCD"); //λ¬Έμμ΄μ ν¬κΈ° λΉκ΅ κ°λ₯
console.log(1 == 2);
console.log(1 == "1"); // == μ μλ£νμ νμΈνμ§ μκΈ° λλ¬Έμ true
console.log(1 === "1"); // === μ μλ£νκΉμ§ νμΈνκΈ° λλ¬Έμ false
</script>