React 1οΈβ£ What is React? 리μ‘νΈλ μ μΈν, μ»΄ν¬λνΈ κΈ°λ°μ JavaScript λΌμ΄λΈλ¬λ¦¬λ‘ UIλ₯Ό λ§λ€κΈ° μν΄ μ¬μ©λλ€. JSXλΌλ λ¬Έλ²μ μ¬μ©ν΄ SPAλ₯Ό κ°λ°ν μ μκ³ , CSRλ‘ μλνλ€. Declarative vs Imperative 리μ‘νΈλ μ μΈν νλ‘κ·Έλλ°μ΄λ€. κ·Έλμ μ μΈνμ΄ λλ°..?! π€ μ μΈνμ 무μμ ν κ²μΈμ§μ ν¬μ»€μ€λ₯Ό λ νλ‘κ·Έλλ° λ°©λ²μ΄λ€. λ°λ©΄μ μ μΈνμ λ°λμΈ λͺ λ Ήνμ μ΄λ»κ² ν κ²μΈμ§μ μ€μ μ λκ³ μλ€. μ μΈνμ 무μμκ³Ό λͺ λ Ήνμ μ΄λ»κ²λ₯Ό μ€μνμμ λΉλμ΄ μ΄μΌκΈ° ν΄λ³΄μλ©΄, λ§μλ λΌλ©΄ πμ λ¨Ήλλ€κ³ κ°μ ν λ μλμ κ°μ μ°¨μ΄λ₯Ό 보μΈλ€κ³ ν μ μκ² λ€.. μ μΈν (무μμ π€) μ»΅λΌλ©΄μ λ¨Ήμλ! λͺ λ Ήν (μ΄λ»κ² π) λκ» ννμ μ©κΈ°λ₯Ό κ°μ§ λΌλ©΄μ λκ»μ..

νλ‘ν νμ μ²΄μΈ νλ‘ν νμ 체μΈμ΄λ? μλ°μ€ν¬λ¦½νΈλ κ°μ²΄μ μμ±κ³Ό λ©μλμ μ κ·Όν λ ν΄λΉ κ°μ²΄μ μ κ·Όνκ³ μ νλ μμ±κ³Ό λ©μλκ° μμ κ²½μ° λΆλͺ¨ μν μ νλ νλ‘ν νμ μ μμ±κ³Ό λ©μλλ₯Ό μμ°¨μ μΌλ‘ κ²μνλ€. μ΄κ²μ νλ‘ν νμ 체μΈμ΄λΌκ³ νλ€. class Person { constructor(name, favorite) { this.name = name; this.favorite = favorite; } like() { console.log(`${this.name}μ ${this.favorite}μ μ’μν©λλ€.`); } } const subin = new Person('μλΉ', 'μ΄νΌμΉ'); subinμ Personμ μν΄ μμ±λ μΈμ€ν΄μ€μ΄κΈ° λλ¬Έμ Person.prototypeμ λ©μλμΈ like()λ₯Ό..

νλ‘ν νμ νλ‘ν νμ μ΄λ? νλ‘ν νμ μ μν κ°μ²΄λ‘, μ΄λ€ κ°μ²΄μ λΆλͺ¨ κ°μ²΄ μν μ νλ κ°μ²΄μ΄λ€. βοΈ .prototypeμ __proto__ prototype μμ±μ ν¨μ κ°μ²΄λ§μ΄ μμ νλ μμ±μΌλ‘ μμ±μκ° μμ±ν μΈμ€ν΄μ€μ νλ‘ν νμ μ, __proto__ μ κ·Όμ μμ±μ μμ μ νλ‘ν νμ μ κ°μ μ μΌλ‘ μ κ·Όν μ μλ μμ±μ κ°λ¦¬ν¨λ€. prototypeμ μμ±μ ν¨μκ°, __proto__λ λͺ¨λ κ°μ²΄κ° μ¬μ© 주체μ΄λ€. κ΅¬λΆ μμ κ° μ¬μ© 주체 μ¬μ© λͺ©μ prototype constructor νλ‘ν νμ μ μ°Έμ‘° μμ±μ μμ±μ ν¨μκ° μμ±ν μΈμ€ν΄μ€μ νλ‘ν νμ μ ν λΉ __proto__ λͺ¨λ κ°μ²΄ νλ‘ν νμ μ μ°Έμ‘° λͺ¨λ κ°μ²΄ κ°μ²΄κ° μμ μ νλ‘ν νμ μ μ κ·Ό class Person { constructor(..

κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ° κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°(Object Oriented Programming, OOP)μ΄λ? νλμ μ²μ¬μ§μ λ§λ€κ³ κ·Έ μ²μ¬μ§μ λ°νμΌλ‘, μ¦ μλ°μ€ν¬λ¦½νΈμμλ classλ₯Ό λ°νμΌλ‘ νλ νλμ κ°μ²΄, μ¦ instanceλ₯Ό λ§λλ νλ‘κ·Έλλ° ν¨ν΄μ μλ―Ένλ€. μ‘°κΈ λ λ§λΆμ΄μλ©΄, κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ λͺ¨λ κ²μ "κ°μ²΄"λ‘ λ°μλ€μ΄κ³ κΈ°μ‘΄μ λ§λ€μ΄ λ κ°μ²΄λ₯Ό μ¬μ¬μ©ν μ μλ€. βοΈ OOPμ 4κ°μ§ νΉμ§ μΊ‘μν(Encapsulation) : κ°μ²΄μ μμ±κ³Ό λ©μλλ₯Ό νλλ‘ λ¬Άλ κ²μ λ§νλ€. νΉμ μμ±μ΄λ λ©μλλ₯Ό κ°μΆ μ μκΈ° λλ¬Έμ μ 보 μλμΌλ‘ μ¬μ©ν μ μλ€. λλΆλΆμ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ° μΈμ΄λ ν΄λμ€λ₯Ό μ μνκ³ κ·Έ ν΄λμ€λ₯Ό ꡬμ±νλ μμ±κ³Ό λ©μλμ λν΄ public, privat..

ν΄λμ€μ μΈμ€ν΄μ€ βοΈ ν΄λμ€ ν΄λμ€λ? ν΄λμ€λ μμ±κ³Ό λ©μλλ₯Ό μ μνλ 곡κ°μ΄λ€. μμ±μ ν΄λμ€μ ν¬ν¨λλ λ³μλ₯Ό μλ―Ένκ³ , λ©μλλ ν΄λμ€μ ν¬ν¨λλ ν¨μλ₯Ό μλ―Ένλ€. ν΄λμ€λ₯Ό μ μνλ λ°μλ 2κ°μ§ λ°©λ²μ΄ μλ€. ν¨μλ‘ μ μ (ES5 λ¬Έλ²) function Introduce(name, age, favorite) { // μΈμ€ν΄μ€ λ§λ€μ΄μ§ λ μ€νλλ μ½λ } class ν€μλλ‘ μ μ (ES6 λ¬Έλ²) class Introduce { constructor(name, age, favorite) { // μΈμ€ν΄μ€κ° λ§λ€μ΄μ§ λ μ€νλλ μ½λ } } μ¬κΈ°μ constructorλ ν΄λμ€κ° μΈμ€ν΄μ€ κ°μ²΄λ₯Ό μμ±ν λ κ°μ²΄λ₯Ό μ΄κΈ°ννλ λ©μλμ΄λ€. constructor λ©μλλ₯Ό λ€μκ³Ό κ°μ΄ μ¬μ©νλ€λ©΄, cla..

μμ μλ£νκ³Ό μ°Έμ‘° μλ£ν βοΈ μμ μλ£ν μμ μλ£νμ΄λ? κ°μ²΄κ° μλλ©΄μ methodλ₯Ό κ°μ§μ§ μλ μλ£νμΌλ‘ λ³μμ νλμ λ°μ΄ν°λ§ μ μ₯ν μ μκ³ ν΄λΉ λ°μ΄ν°λ κ° μ체μ΄λ€. μμ μλ£ν μ’ λ₯ 6κ°μ§ string, number, bigint, boolean, undefined, symbol, (null) "hello world!" "hello september!" // "hello world"μ "hello september!"μ λͺ¨λ λ³κ²½ν μ μλ κ³ μ λ κ°μ΄λ€. let word = "hello world!" word = "hello september!" // wordλΌλ λ³μμ μ¬ν λΉμ νμ¬ λ³μμ λ΄κΈ΄ λ΄μ©μ λ³κ²½νλ κ²μ κ°λ₯νλ€. βοΈ μ°Έμ‘° μλ£ν μ°Έμ‘° μλ£νμ΄λ? μμ μλ£νμ΄ μλ..

νμ νμ μ΄λ? μ μ₯λ κ°μ μ’ λ₯μ λ°λΌ λ¬λΌμ§λ κ²μΌλ‘, λͺ¨λ λ³μλ νμ μ κ°κ³ μλ€. βοΈ νμ μ μ’ λ₯ μμκ° - Boolean νμ : trueμ false 2κ°μ§ κ°μ κ°μ§λ€. - Null νμ - Undefined νμ - Number νμ : μ«μ κ°μ κ°μ§λ€. - BigInt νμ - String νμ : λ¬Έμ κ°μ κ°μ§λ€. - Symbol νμ κ°μ²΄ : μμκ°μ μ μΈν κ²λ€ βοΈ typeof μ°μ°μ νΉμ κ°μ νμ μ μκ³ μΆμ λ μ¬μ©νλ μ°μ°μμ΄λ€. console.log(typeof 20220822); // expected output: number console.log(typeof '20220822'); // expected output: string console.log(typeof ..

κ°μ²΄ μ§ν₯ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ΄λ? νλμ μ²μ¬μ§μ λ§λ€κ³ κ·Έ μ²μ¬μ§μ λ°νμΌλ‘, μ¦ μλ°μ€ν¬λ¦½νΈμμλ classλ₯Ό λ°νμΌλ‘ νλ νλμ κ°μ²΄, μ¦ instanceλ₯Ό λ§λλ νλ‘κ·Έλλ° ν¨ν΄μ μλ―Ένλ€. βοΈ ν΄λμ€μ μΈμ€ν΄μ€ ν΄λμ€λ μμ±κ³Ό λ©μλλ₯Ό μ μνλ 곡κ°μ΄κ³ μΈμ€ν΄μ€λ ν΄λμ€μμ μ μλ μ 보λλ₯Ό κ°μ Έμ μ΄μ©νλ κ°μ²΄μ΄λ€. μμ±μ ν΄λμ€μ ν¬ν¨λλ λ³μλ₯Ό μλ―Ένκ³ , λ©μλλ ν΄λμ€μ ν¬ν¨λλ ν¨μλ₯Ό μλ―Ένλ€. ν΄λμ€λ₯Ό μ μνλ λ°μλ 2κ°μ§ λ°©λ²μ΄ μλ€. ν¨μλ‘ μ μ (ES5 λ¬Έλ²) function Introduce(name, age, favorite) { // μΈμ€ν΄μ€ λ§λ€μ΄μ§ λ μ€νλλ μ½λ } class ν€μλλ‘ μ μ (ES6 λ¬Έλ²) class Introduce { constructor(..

κ³ μ°¨ ν¨μ κ³ μ°¨ ν¨μλ? κ³ μ°¨ ν¨μλ 1. ν¨μλ₯Ό argumentsλ‘ λ°μ μ μκ±°λ 2. ν¨μλ₯Ό returnν μ μκ±°λ 3. λλ μ λ κ°μ§ μ¬νμ λͺ¨λ ν΄λΉνλ ν¨μλ₯Ό μλ―Ένλ€. // λ€λ₯Έ ν¨μλ₯Ό argumentsλ‘ λ°λ κ²½μ° function double(num) { return num * 2; } function doubleNum(func, num) { return func(num); } let output = doubleNum(double, 4); // returnκ°μ΄ ν¨μμΈ κ²½μ° function adder(added) { return function (num) { return num + added; }; } let output = adder(5)(3); // λλ μ λ κ°μ§μ λͺ¨λ ν΄λΉνλ..

JavaScript Koans κ³Όμ λ₯Ό μννλ©΄μ μ λλ‘ μ 리λμ§ μμλ κ°λ λ€μ λ€μ μ 리ν΄λ³Έλ€. μ°Έμ‘° μλ£νμ μ£Όμκ°μ΄ μ μ₯λλ€. μμ μλ£νκ³Όμ μ°¨μ΄μ κ΄ν λ¬Έμ λ₯Ό νλ©΄μ κ°λ μ΄ μμΆ©λμ΄ μ΄ν΄κ° κ°μ§ μμλ λΆλΆ. μ°Έμ‘° μλ£νμ κ°μ μ£Όμκ°μ κ°κ³ μλ κ²½μ° μλ³Έ λλ 볡μ λ°°μ΄μ΄λ κ°μ²΄μ κ°μ΄ λ¬λΌμ‘μ λ κ°μ΄ ν¨κ» λ¬λΌμ§λ€!! βοΈ μλ³Έ μ°Έμ‘° μλ£νκ³Ό 볡μ μ°Έμ‘° μλ£νμ λμΌν μ£Όμκ°μ μ£Όλ κ²½μ° μ°Έμ‘° μλ£ν μ μΈ ν μλ‘μ΄ λ³μμ μ°Έμ‘° μλ£νμ μ μΈνλ λ³μλ₯Ό ν λΉνλ€ /* 06 Types part2 */ const overTwenty = ['hongsik', 'minchul', 'hoyong']; let allowedToDrink = overTwenty; overTwenty.push('san'..

μμ μλ£νκ³Ό μ°Έμ‘° μλ£ν βοΈ μμ μλ£ν μμ μλ£νμ΄λ? κ°μ²΄κ° μλλ©΄μ methodλ₯Ό κ°μ§μ§ μλ μλ£νμΌλ‘ λ³μμ νλμ λ°μ΄ν°λ§ μ μ₯ν μ μκ³ ν΄λΉ λ°μ΄ν°λ κ° μ체μ΄λ€. μμ μλ£ν μ’ λ₯ 6κ°μ§ string, number, bigint, boolean, undefined, symbol, (null) "hello world!" "hello september!" // "hello world"μ "hello september!"μ λͺ¨λ λ³κ²½ν μ μλ κ³ μ λ κ°μ΄λ€. let word = "hello world!" word = "hello september!" // wordλΌλ λ³μμ μ¬ν λΉμ νμ¬ λ³μμ λ΄κΈ΄ λ΄μ©μ λ³κ²½νλ κ²μ κ°λ₯νλ€. βοΈ μ°Έμ‘° μλ£ν μ°Έμ‘° μλ£νμ΄λ? μμ μλ£νμ΄ μλ..

λ°°μ΄ λ°°μ΄μ΄λ? μμκ° μλ κ°μΌλ‘ μ΄λ μμλ μΈλ±μ€(index), κ°μ μμ(element)λΌκ³ λΆλ₯Έλ€. μΈλ±μ€λ 0λΆν° μμνλ€. λ°°μ΄μ μ μΈν λ, λκ΄νΈλ‘ λ°°μ΄μ λ§λ€κ³ κ° μμλ μΌνλ‘ κ΅¬λΆνλ€. let myEmoji = ['π°', 'π', 'π°', 'π', 'π']; // myEmojiμ 3λ² μΈλ±μ€λ₯Ό μ‘°νν κ²½μ° myEmoji[3]; // 'π' // myEmojiμ 3λ² μΈλ±μ€λ₯Ό λ³κ²½ν κ²½μ° myEmoji[3] = 'π'; console.log(myEmoji); // ['π°', 'π', 'π°', 'π', 'π'] λ°°μ΄μ λ°°μ΄ λ΄λΆμ λ°°μ΄μ λ§λ€μ΄ 2μ°¨μ, 3μ°¨μμ λ°°μ΄ μ μΈλ κ°λ₯νλ€. βοΈ λ°°μ΄μ κΈ°μ΄ μμ±κ³Ό λ©μλ μμ± length: λ°°μ΄μ κΈΈμ΄λ₯Ό μ μ μλ€. myEmoji.leng..