Javascript/Javascript

[์ค‘๊ธ‰ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ์‹ฌ๋ณผ

Rainbow๐ŸŒˆCoder 2022. 3. 24. 19:10
728x90

 

https://youtu.be/4_WLS9Lj6n4

**์ฝ”๋”ฉ์•™๋งˆ๋‹˜์˜ ์œ ํŠœ๋ธŒ ๋ฌด๋ฃŒ ๊ฐ•์ขŒ๋ฅผ ๋ณด๊ณ  ํ•™์Šตํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค.

 

 

๊ฐ์ฒด ํ”„๋กœํผํ‹ฐ ํ‚ค๋Š” ๋ฌธ์ž์—ด..

์‹ฌ๋ณผ์€..

 

[์œ ์ผํ•œ ์‹๋ณ„์ž]

const a = Symbol(); //new๋ฅผ ๋ถ™์ด์ง€ ์•Š๋Š”๋‹ค.

 

      const symA = Symbol();
      const symB = Symbol();
      console.log(symA); //Symbol()
      console.log(symB); //Symbol()
      console.log(symA == symB); //false
      console.log(symA === symB); // false

์‹ฌ๋ณผํ˜•์€ ์œ ์ผ์„ฑ์„ ๋ณด์žฅํ•ด์ค€๋‹ค.

const id = Symbol('id'); 

์‹ฌ๋ณผ ๋’ค์— ์†Œ๊ด„ํ˜ธ์— ์„ค๋ช…์„ ๋„ฃ์–ด์ฃผ๋ฉด ์ข‹๋‹ค. ๋“ค์–ด๊ฐ€๋Š” ๋ฌธ์ž์—ด ์„ค๋ช…์€ ์–ด๋– ํ•œ ์˜ํ–ฅ๋„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค.

 

 

์ด๋ ‡๊ฒŒ ๊ฐ์ฒด๋ฅผ ํŒŒ๊ณ ๋“œ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ๋‹ค ํšŒํ”ผํ•˜๋Š” ์‹ฌ๋ณผํ˜•์€ ๋ฌด์—‡์„ ์œ„ํ•ด ์žˆ์„๊นŒ? ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•ด๋จน์„ ์ˆ˜ ์žˆ์„๊นŒ?

ํŠน์ • ๊ฐ์ฒด์˜ ์›๋ณธ ๋ฐ์ดํ„ฐ๋Š” ๊ฑด๋“ค์ด์ง€ ์•Š๊ณ  ํŠน์„ฑ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋งŒ๋“ค์–ด ๋†“์€ ๊ฐ์ฒด์— ์ž์‹ ๋งŒ์˜ ์†์„ฑ์„ ์ถ”๊ฐ€ํ•ด์„œ ๋ฎ์–ด์จ๋ฒ„๋ฆฌ๋ฉด ์•ˆ๋  ๋•Œ...

์œ ์ผํ•œ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‹ฌ๋ณผ์„ ์‚ฌ์šฉํ•  ๊ฒƒ

4

 

 

      let h = "height";
      const player = { hp: 200, mp: 150 };
      player[h] = "160cm";
      console.log(JSON.stringify(player));//{"hp":200,"mp":150,"height":"160cm"}

์œ„์˜ ์ฝ”๋“œ์—์„œ๋ถ€ํ„ฐ ๋˜ ์ฐจ๊ทผ์ฐจ๊ทผ ํ•™์Šตํ•ด๋ณด์ž...

      let h = "height";
      //๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งŒ๋“ค์–ด ๋†“์€ ๊ฐ์ฒด
      const player = { hp: 200, mp: 150 };
      player[h] = "160cm";
      console.log(JSON.stringify(player)); //{"hp":200,"mp":150,"height":"160cm"}
      //๋‚ด๊ฐ€ ์ž‘์—…
      player.showInfo = function () {};
      //์‚ฌ์šฉ์ž๊ฐ€ ์ ‘์†ํ•˜๋ฉด ๋ณด๋Š” ๋ฉ”์„ธ์ง€
      for (let key in player) {
        console.log(`His ${key} is ${player[key]}.`);
      }

๋งˆ์ง€๋ง‰ ์ค„์ด ๋…ธ์ถœ๋˜๋Š” ๊ฒƒ์€ ์˜๋„๊ฐ€ ์•„๋‹ˆ๋‹ค!

      let h = "height";
      //๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งŒ๋“ค์–ด ๋†“์€ ๊ฐ์ฒด
      const player1 = { name: "๋ฆฌํ•œ๋‚˜", hp: 200, mp: 150 };
      const player2 = { name: "๋ธŒ๋ฆฌํŠธ๋‹ˆ์Šคํ”ผ์–ด์Šค", hp: 5490, mp: 10 };
      player1[h] = "160cm";
      console.log(JSON.stringify(player1)); //{"hp":200,"mp":150,"height":"160cm"}
      //๋‚ด๊ฐ€ ์ž‘์—…
      //player.showInfo = function () {};
      const showInfo = Symbol("show Info");
      player1[showInfo] = function () {
        console.log(
          `${this.name}์˜ ์ฒด๋ ฅ์€ ${this.hp}์ด๊ณ  ๋งˆ๋ ฅ์€ ${this.mp}๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.` //๋ฆฌํ•œ๋‚˜์˜ ์ฒด๋ ฅ์€ 200์ด๊ณ  ๋งˆ๋ ฅ์€ 150๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
        );
      };
      player2[showInfo] = function () {
        console.log(
          `${this.name}์˜ ์ฒด๋ ฅ์€ ${this.hp}์ด๊ณ  ๋งˆ๋ ฅ์€ ${this.mp}๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.` //๋ธŒ๋ฆฌํŠธ๋‹ˆ์Šคํ”ผ์–ด์Šค์˜ ์ฒด๋ ฅ์€ 5490์ด๊ณ  ๋งˆ๋ ฅ์€ 10๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
        );
      };
      player1[showInfo]();
      player2[showInfo]();
      //์‚ฌ์šฉ์ž๊ฐ€ ์ ‘์†ํ•˜๋ฉด ๋ณด๋Š” ๋ฉ”์„ธ์ง€
      for (let key in player1) {
        console.log(`His ${key} is ${player1[key]}.`);
      }
      console.log(Object.getOwnPropertySymbols(player1));
      console.log(Reflect.ownKeys(player1));

      console.log(Object.getOwnPropertySymbols(player2));
      console.log(Reflect.ownKeys(player2));

<๊ฐ์ข… math ํ•จ์ˆ˜>

 

Math.ceil() : ์˜ฌ๋ฆผ

ex)

let num1 = 5.1;

let num2 = 5.7;

Math.ceil(num1); //6

Math.ceil(num2); //6

 

Math.floor() : ๋‚ด๋ฆผ

ex)

let num3 = 5.1;

let num4 = 5.7;

Math.floor(num3); //5

Math.floor(num4); //5

 

Math.round() : ๋ฐ˜์˜ฌ๋ฆผ

ex)

let num5 = 5.1;

let num6 = 5.7;

Math.round(num5); //5

Math.round(num6); //6

 

๋ณดํ†ต ์ž‘์—…์„ ํ•˜๋‹ค๋ณด๋ฉด ์†Œ์ˆ˜์ ๊นŒ์ง€ ํ‘œํ˜„ํ•ด์•ผ ๋  ๋•Œ๊ฐ€ ๋งŽ๋‹ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด ์†Œ์ˆ˜์  ์…‹์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•ด์„œ ๋‘˜์งธ ์ž๋ฆฌ๊นŒ์ง€ ๋ณด์—ฌ์ค˜์•ผ ํ•  ๊ฒฝ์šฐ

์ด๋Ÿด๊ฒฝ์šฐ ์•„๋ž˜์™€ ๊ฐ™์ด ํ•˜๋ฉด ๋œ๋‹ค.

ex)

[์š”๊ตฌ์‚ฌํ•ญ : ์†Œ์ˆ˜์  ๋‘˜์งธ์ž๋ฆฌ๊นŒ์ง€ ํ‘œํ˜„(์…‹์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผ)]

let userRate = 30.1234;

userRate * 100; //3012.34

100์„ ๊ณฑํ•œ ๊ฒƒ์„ ๋ฐ˜์˜ฌ๋ฆผํ•˜๋ฉด 3012

๊ทธ๊ฒƒ์„ ๋˜ 100์œผ๋กœ ๋‚˜๋ˆ„๋ฉด 30.12

Math.round(userRate*100)/100; //30.12

 

toFixed()๋Š” ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์—

Number()์„ ์ด์šฉํ•ด ์ˆซ์ž๋กœ ๋ณ€ํ™˜ ํ›„ ์ž‘์—…ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

 

 

parseInt()๋Š” *์ฒ˜์Œ*๋ถ€ํ„ฐ ์ˆซ์ž๋กœ ๊ฐ€๋Šฅํ•œ ๋ถ€๋ถ„๊นŒ์ง€ ์ˆซ์ž๋ฅผ ์ฝ๊ณ  ๋‚˜๋จธ์ง€ ๋ฌธ์ž์—ด์€ ๋ฌด์‹œ.

Number์€ ์ˆซ์ž ์˜์™ธ์˜ ๋ฌธ์ž์—ด์ด ์„ž์—ฌ์žˆ์œผ๋ฉด ๋ฌด์กฐ๊ฑด NaN ์ถœ๋ ฅ(only ์ˆซ์ž by ์ˆซ์ž)

๊ทธ๋ฆฌ๊ณ  parseInt()๋Š” ์ธ์ˆ˜๋ฅผ ํ•˜๋‚˜ ๋” ๋ฐ›์•„์„œ ์ง„์ˆ˜๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋…ํŠนํ•œ ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค.

 

728x90