Design-loving front-end engineer
Ryong
Design-loving front-end engineer
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
    • Framework
    • React
      • Concept
      • Library
      • Hook
      • Component
      • Test
    • NodeJS
    • Android
      • Concept
      • Code
      • Sunflower
      • Etc
    • Flutter
      • Concept
      • Package
    • Web
    • Web
    • CSS
    • Language
    • JavaScript
    • TypeScript
    • Kotlin
    • Dart
    • Algorithm
    • Data Structure
    • Programmers
    • Management
    • Git
    • Editor
    • VSCode
    • Knowledge
    • Voice
Design-loving front-end engineer

Ryong

JavaScript

[ JS ] Generators and Maps

2022. 7. 6. 22:01

๐Ÿ”ด  Generators

 
const friends = ["Jeong", "Seung", "Ryong", "Hello", "World"];

function* friendTeller() {
  for (const friend of friends) {
    yield friend;
  }
}

const friendLooper = friendTeller();

> friendLooper.next()
// { value: "Jeong", done: false }
> friendLooper.next()
// { value: "Sueng", done: false }
> friendLooper.next()
// { value: "Ryong", done: false }
> friendLooper.next()
// { value: "Hello", done: false }
> friendLooper.next()
// { value: "World", done: false }
> friendLooper.next()
// { value: undefined, done: true }

 

๐ŸŸ   Proxies

 
const userObj = {
  username: "ryong",
  age: 28,
  password: 1234
};

const userFilter = {
  get: (target, prop, receiver) => {
    return prop === "password" ? `${"*".repeat(5)}` : target[prop];
  },
  set: () => {
    console.log("Somebody wrote something");
  },
  deleteProperty: (target, prop) => {
    if (prop === "password") {
      return;
    } else {
      target[prop] = "DELETED";
    }
  }
};

const filteredUser = new Proxy(userObj, userFilter);

> filteredUser
// { username: "ryong", age: 28, password: 1234 }

> delete filteredUser.password
// false

> delete filteredUser.username
// { username: "DELETED", age: 28, password: 1234 }

 

 

 

 

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ JS ] LocalStorage, SessionStorage, Cookie ๋‹ค๋ฃจ๊ธฐ  (0) 2022.08.08
[ JS ] Base64 / Blob / ArrayBuffer / File ๋‹ค๋ฃจ๊ธฐ  (0) 2022.08.08
[ JS ] Symbol, Set and Map  (0) 2022.07.06
[ JS ] Classes  (0) 2022.07.06
[ JS ] Async / Await  (0) 2022.07.06
    'JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ JS ] LocalStorage, SessionStorage, Cookie ๋‹ค๋ฃจ๊ธฐ
    • [ JS ] Base64 / Blob / ArrayBuffer / File ๋‹ค๋ฃจ๊ธฐ
    • [ JS ] Symbol, Set and Map
    • [ JS ] Classes
    Design-loving front-end engineer
    Design-loving front-end engineer
    ๋””์ž์ธ์— ๊ด€์‹ฌ์ด ๋งŽ์€ ๋ชจ๋ฐ”์ผ ์•ฑ ์—”์ง€๋‹ˆ์–ด Ryong์ž…๋‹ˆ๋‹ค.

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”