GiantStepDEV
article thumbnail

์ฃผ์„

// ํ•œ ์ค„ ์ฃผ์„

/*
์—ฌ๋Ÿฌ ์ค„ ์ฃผ์„
์ด ์ค„์€ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
*/

์Šคํƒ€์ผ ๊ฐ€์ด๋“œ

  • ์†Œ์Šค ํŒŒ์ผ์˜ ์ด๋ฆ„์€ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž, ํ•˜์ดํ”ˆ(-), ๋ฐ‘์ค„(_)์œผ๋กœ๋งŒ ์ž‘์„ฑ
  • ์†Œ์ŠคํŒŒ์ผ์˜ ํ™•์žฅ์ž๋ช…์€ .js
  • ์†Œ์ŠคํŒŒ์ผ์˜ ์ธ์ฝ”๋”ฉ์€ UTF-8
  • ์ฝ”๋“œ๋Š” ๋ณด๊ธฐ ์ข‹๊ฒŒ ์ค„ ๋ฐ”๊ฟˆ์„ ํ•ฉ๋‹ˆ๋‹ค.
  • ์„ธ๋ฏธ์ฝœ๋ก ์œผ๋กœ ๋ฌธ์žฅ์„ ๊ตฌ๋ถ„ ํ•ฉ๋‹ˆ๋‹ค.
  • ์‹๋ณ„์ž๋Š” ์ฒซ๊ธ€์ž๋Š” ์˜๋ฌธ์ž, ์–ธ๋”์Šค์ฝ”์–ด, $์‹œ์ž‘ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹จ์–ด์™€ ๋‹จ์–ด๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ์‹๋ณ„์ž๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ ํ•˜์ดํ”ˆ์ด๋‚˜ ์–ธ๋”๋ฐ” ์‚ฌ์šฉ, ์นด๋ฉœํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ํ‘œ๊ธฐ ๊ฐ€๋Šฅ
  • ์˜ˆ์•ฝ์–ด๋Š” ์‹๋ณ„์ž๋กœ ์‚ฌ์šฉ ๋ถˆ๊ฐ€

๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜

  • ๋ณ€์ˆ˜(Variable)์™€ ์ƒ์ˆ˜(Constant)๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜๋Š” ์„ ์–ธ, ํ• ๋‹น, ์ฐธ์กฐ ๋“ฑ์˜ ๋™์ž‘์„ ํ†ตํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ๋ณ€์ˆ˜์˜ ์„ ์–ธ์€ var, const, let ํ‚ค์›Œ๋“œ๋กœ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ES6์—์„œ const, let์ด ์ถ”๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ณ€์ˆ˜

  • ๋ณ€์ˆ˜๋Š” ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹น๋ฐ›์•„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณ€์ˆ˜๋Š” let ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณ€์ˆ˜๋Š” ์„ ์–ธ ํ›„ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
let x = 10; // ๋ณ€์ˆ˜ x๋ฅผ ์„ ์–ธํ•˜๊ณ , 10์„ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.
x = 20; // ๋ณ€์ˆ˜ x์— 20์„ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.

์ƒ์ˆ˜

  • ์ƒ์ˆ˜๋Š” ๋ณ€์ˆ˜์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ, ์„ ์–ธ ํ›„ ๊ฐ’์˜ ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒ์ˆ˜๋Š” const ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์•ฝ์–ด

๋ณ€์ˆ˜ ํ• ๋‹น

  • ๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹นํ•  ๋•Œ์—๋Š” ํ• ๋‹น ์—ฐ์‚ฐ์ž(=)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
let name = 'yang kong mi';
let age = 20;

var, let, const ์ฐจ์ด

let

  • ์ค‘๋ณต ์„ ์–ธ์ด ๋ถˆ๊ฐ€๋Šฅ ํ•ฉ๋‹ˆ๋‹ค.
  • ์žฌํ• ๋‹น์€ ๊ฐ€๋Šฅ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ธ”๋ก {} ์Šค์ฝ”ํ”„๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

์ฆ‰, ๋‹ค๋ฅธ ์–ธ์–ด์˜ ๋ณ€์ˆ˜์™€ ๋™์ผํ•œ ๊ฐœ๋…

let num = 10;
let num = 20; // ์˜ค๋ฅ˜ ๋ฐœ์ƒ

var

  • ๋ณ€์ˆ˜ ์ค‘๋ณต ์„ ์–ธ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ๊ฐ’์ด ๋ฐ˜ํ™˜๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.
  • ํ•จ์ˆ˜ ๋ ˆ๋ฒจ ์Šค์ฝ”ํ”„๋กœ ์ธํ•ด ํ•จ์ˆ˜ ์™ธ๋ถ€์—์„œ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ๋ชจ๋‘ ์ „์—ญ ๋ณ€์ˆ˜๋กœ ๋ฉ๋‹ˆ๋‹ค.
  • ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ ์ด์ „์— ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•˜๋ฉด undefined๊ฐ€ ๋ฐ˜ํ™˜ ๋ฉ๋‹ˆ๋‹ค.(๐Ÿ“Œํ˜ธ์ด์ŠคํŒ…)
var num = 10;
var num = 20;
console.log(num);
// ์˜ค๋ฅ˜ x, 20 ์ถœ๋ ฅ

console.log(test);
var test= 100;

const

  • ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐ๊ฐ’์ด ์ „๋‹ฌ๋˜์–ด์•ผ ํ•˜๊ณ , ์ถ”ํ›„ ์žฌํ• ๋‹น ๋ถˆ๊ฐ€ (๋‹ค๋ฅธ ์–ธ์–ด์˜ '์ƒ์ˆ˜' ๊ฐœ๋…๊ณผ ๋™์ผ)
  • ๋ธ”๋ก {} ์Šค์ฝ”ํ”„๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

ํ˜ธ์ด์ŠคํŒ…

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ธฐ ์ „์— ์ฐธ์กฐํ•˜๋ฉด undefined๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š”๋ฐ, ์ด๋ฅผ 'ํ˜ธ์ด์ŠคํŒ…'์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ์ด ์Šค์ฝ”ํ”„์˜ ์ตœ์ƒ์œ„๋กœ ์ด๋™๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋•Œ๋ฌธ์— ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ธฐ ์ „์— ์ฐธ์กฐํ•˜๋ฉด ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋™์ž‘์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ์„ ์Šค์ฝ”ํ”„ ๋งจ ์œ„์— ์œ„์น˜์‹œํ‚ค๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

  • ๊ทธ๋Ÿฌ๋‚˜! ES6 ๋ถ€ํ„ฐ let๊ณผ const๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ธ”๋ก ์Šค์ฝ”ํ”„ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ณ€์ˆ˜๋“ค์€ ํ˜ธ์ด์ŠคํŒ…์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ์„ ์–ธ ์œ„์น˜๊ฐ€ ์ฝ”๋“œ ์ƒ๋‹จ์— ์žˆ์„ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ, ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ์„ ์ฝ”๋“œ ์ƒ๋‹จ์— ์œ„์น˜์‹œํ‚ค๋Š” ๊ฒƒ์€ ES6 ์ด์ „์— ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ ๋•Œ๋ฌธ์— ์ค‘์š”ํ–ˆ์ง€๋งŒ ์ตœ์‹  ๋ฒ„์ „์—์„œ๋Š” ๊ผญ ํ•„์š”ํ•˜์ง„ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๊ณ ๋ คํ•˜๋ฉด ์ตœ์ƒ๋‹จ์— ์„ ์–ธํ•˜๋Š” ๊ฒƒ์€ ์—ฌ์ „ํžˆ ์ข‹์€ ์Šต๊ด€์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์ž๋ฃŒํ˜•

  • ๊ธฐ๋ณธ ์ž๋ฃŒํ˜• : Number, String, Boolean, null, undefined, Symbol
  • ์ฐธ์กฐ ์ž๋ฃŒํ˜• : ๊ฐ์ฒด

๋ฌธ์ž์—ด

let string = "Hello, JavaScript !!!";
console.log(string);

๋ฌธ์ž์—ด์— ๋”ฐ์˜ดํ‘œ๊ฐ€ ํฌํ•จ๋œ ๊ฒฝ์šฐ

let string2 = "์ €๋Š” 'ํ™๊ธธ๋™' ์ž…๋‹ˆ๋‹ค.";
console.log(string2);

๋ฌธ์ž์—ด ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž

let string = '๋ฌธ์ž์—ด' + "์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž";
console.log(string);

์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž

let string5 = "์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž๋ฅผ ์ด์šฉํ•ด์„œ\n์ค„ ๋ฐ”๊ฟˆํ•˜๊ณ  ์‹ถ์–ด์š”.";
console.log(string5);

ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด(``)

  • ES6์—์„œ ์ถ”๊ฐ€๋œ ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด์€ ๋ฐฑํ‹ฑ์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ž…๋‹ˆ๋‹ค.
let dan = 3;
let gugu = 8;
let rst = `${dan} * ${gugu}์€ ${dan * gugu} ์ž…๋‹ˆ๋‹ค.`;
console.log(rst);

์ˆซ์žํ˜•(Number)

  • ์ •์ˆ˜์™€ ์‹ค์ˆ˜๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ณ , ์ „๋ถ€ ํ•˜๋‚˜์˜ ์ˆซ์ž ์ž๋ฃŒํ˜•์œผ๋กœ ์ทจ๊ธ‰ ํ•ฉ๋‹ˆ๋‹ค.
  • ์‹ค์ˆ˜๋ฅผ ๋ถ€๋™ ์†Œ์ˆ˜์  ๋ฐฉ์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š”๋ฐ, ์‹ค์ˆ˜๋ฅผ ๋ถ€๋™ ์†Œ์ˆ˜์  ๋ฐฉ์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์‹ค์ˆ˜ ๊ณ„์‚ฐ์ด ์ •ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
let num1 = 10;
let num2 = 0.1;
console.log(num1 + num2);
console.log(num2);

let sum = 0.1 + 0.2;
console.log(sum); // ์‹ค์ˆ˜๋Š” ๊ทผ์‚ฌ์น˜๊ธฐ ๋•Œ๋ฌธ์— ์ •ํ™•ํ•œ ๊ฐ’์€ ์•ˆ๋‚˜์˜ด.

toString()

  • ์ˆซ์žํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌธ์žํ˜• ๋ฐ์ดํ„ฐ๋กœ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜ ์ž…๋‹ˆ๋‹ค.
let x = 123;
console.log(typeof(x));
console.log(typeof(x.toString()));

๋…ผ๋ฆฌํ˜•

  • ๋…ผ๋ฆฌ ์ž๋ฃŒํ˜•์€ ์ฐธ ๋˜๋Š” ๊ฑฐ์ง“์— ํ•ด๋‹นํ•˜๋Š” ๋…ผ๋ฆฌ ๊ฐ’์ธ true์™€ false๋ฅผ ์˜๋ฏธ ํ•ฉ๋‹ˆ๋‹ค.
let age = 20;
let isAdult = (age > 18) ? true : false;
console.log(isAdult);

undefined

  • ๋ณ€์ˆ˜๋‚˜ ์ƒ์ˆ˜๋ฅผ ์ปดํ“จํ„ฐ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์„ ์–ธํ•˜๋ฉด ๋ฐ˜๋“œ์‹œ ์ƒ์„ฑํ•œ ๊ณต๊ฐ„์— ์ €์žฅํ•  ๋ฐ์ดํ„ฐ๋ฅผ ํ• ๋‹นํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ํ• ๋‹นํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด๋ถ€์ ์œผ๋กœ ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜ ๊ณต๊ฐ„์— ์ž„์‹œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ• ๋‹นํ•˜๋Š”๋ฐ, ์ด ๋•Œ ํ• ๋‹น๋˜๋Š” ๊ฐ’์ด undefined ์ž…๋‹ˆ๋‹ค.
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ undefined๋Š” ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ์‚ฌ์šฉ์ž๊ฐ€ ์ž„์˜๋กœ ์ •์˜ํ•˜๊ณ  ํ• ๋‹นํ•˜๋Š” ์ž๋ฃŒํ˜•์ด ์•„๋‹™๋‹ˆ๋‹ค.

null

  • null ์ž๋ฃŒํ˜•์€ null ๊ฐ’ ํ•˜๋‚˜๋งŒ ์žˆ์œผ๋ฉฐ, ๋ณ€์ˆ˜๋‚˜ ์ƒ์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ์˜๋„์ ์œผ๋กœ ์„ ์–ธํ•œ ๊ณต๊ฐ„์„ ๋น„์›Œ๋‘˜ ๋•Œ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.
let empty = null;
console.log(empty);
undefined์™€ null์„ ๋ฌถ์–ด์„œ ํŠน์ˆ˜ ์ž๋ฃŒํ˜•์ด๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ์ฒด

  • ๊ฐ์ฒด(Object)๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ•ต์‹ฌ์ ์ธ ์ž๋ฃŒํ˜• ์ž…๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์„ ์ œ์™ธํ•˜๊ณ  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ฑฐ์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์™€ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๊ฐ์ฒด ์ž…๋‹ˆ๋‹ค.
  • ๋ฐฐ์—ด, ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด, ํ•จ์ˆ˜

๋ฐฐ์—ด

  • ๋ชจ๋“  ์ž๋ฃŒํ˜•์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐฐ์—ด ์•ˆ์— ๋ฐฐ์—ด์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ

let score = [80, 99, 77, 65];
console.log(score);
[ 80, 99, 77, 65 ]

๐Ÿ‘‰ ์ธ๋ฑ์Šค๋กœ ์š”์†Œ์— ์ ‘๊ทผ(์ธ๋ฑ์Šค๋Š” ํ•ญ์ƒ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.)

console.log(score[0]); // 80

๐Ÿ‘‰ let์€ ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ํ‚ค์›Œ๋“œ!

  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค ๋•Œ ์ž๋ฃŒํ˜•์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉฐ ๊ฐ’์ด ๋Œ€์ž…๋  ๋•Œ ๋ฐ์ดํ„ฐ์˜ ํ˜•์ด ๊ฒฐ์ •๋˜๋Š” ๋™์ ์ธ ์–ธ์–ด ์ž…๋‹ˆ๋‹ค.

let array = ["์•„์ด๋ธŒ", "์•ˆ์œ ์ง„", 21, true, [100,90,82], ["๊ณฐ๋Œ์ด", "์ˆ˜์›์‹œ", "๊ฒฝ๊ธฐ๋„"]];
console.log(array);
console.log(array[4][1]); // 90
console.log(array[0][1]); // ์ด
console.log(array[2][1]); // undefined
console.log(array[5][0][0]); // ๊ณฐ

๐Ÿ‘‰ ๋นˆ ๋ฐฐ์—ด ์ƒ์„ฑ ํ›„ ๋™์ ์œผ๋กœ ๊ฐ’์„ ๋Œ€์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

let arr = [];
arr[0] = 100;
arr[1] = "์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ";
console.log(arr);

// [ 100, '์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ' ]

๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด

  • ์ค‘๊ด„ํ˜ธ { } ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ •์˜ํ•˜๊ณ , key์™€ value๊ฐ€ ํ•œ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.
  • ์ž๋ฐ”์˜ Map๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. (Map์€ new๋ฅผ ์ด์šฉํ•ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์„œ ์‚ฌ์šฉ)

์ผ๋ฐ˜ ๋ฐฐ์—ด

let score1 = [80, 99, 77, 65];

๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด

let score2 = {
  kor : 80,
  eng : 99,
  mat : 77,
  scn : 65
};

๐Ÿ‘‰ ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด ์ ‘๊ทผ ๋ฐฉ๋ฒ• (๋‘˜ ๋‹ค ๋งŽ์ด ์“ฐ์ž„)

console.log(score2.kor); // .(๋„ํŠธ)๋กœ ์ ‘๊ทผ(๊ฐ์ฒด๊ธฐ ๋•Œ๋ฌธ์—)
console.log(score2['mat']); // []์— key๋ฅผ ๋„ฃ์–ด์„œ ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•

๐Ÿ‘‰ ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด์—์„œ ํ•จ์ˆ˜ ์‚ฌ์šฉ

const person = {
  name : "ํ™๊ธธ๋™",
  age : 18,
  city : "seoul",
  // ํ•จ์ˆ˜ ์‚ฌ์šฉ
  getInfo : function() {
    return `${this.name} is ${this.age} years old and lives in ${this.city}.`;
  }
};
console.log(person.getInfo());

// ํ™๊ธธ๋™ is 18 years old and lives in seoul.

typeof() : ๋ฐ์ดํ„ฐํ˜• ํ™•์ธ

let name1 = "์ด์ˆœ์‹ ";
console.log(typeof(name1));

// string

toString() : ๋ฌธ์ž์—ด ๋ฐ˜ํ™˜

let fruits = ["Banana", "Orange", "Apple", "Melon"];
console.log(fruits.toString()); // Banana,Orange,Apple,Melon
console.log(fruits); // [ 'Banana', 'Orange', 'Apple', 'Melon' ]

Symbol

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ฐ์ฒด ์†์„ฑ key๋กœ string๊ณผ symbol๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. (Number, boolean ๋ถˆ๊ฐ€)
  • ์œ ์ผํ•œ ์‹๋ณ„์ž๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. (Symbol())
  • ์‹ฌ๋ณผ ์ด๋ฆ„์„ ๋ถ™์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. (์•„๋ž˜ ์ฝ”๋“œ (2)๋ฒˆ ์ฐธ์กฐ), ์‹ฌ๋ณผ ์ด๋ฆ„์€ ๋””๋ฒ„๊น… ์‹œ ์•„์ฃผ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
    ๐Ÿ“Œ ์ด๋ฆ„์€ ์„ ํƒ์‚ฌํ•ญ ์ž…๋‹ˆ๋‹ค.
  • ์‹ฌ๋ณผ์€ ์ด๋ฆ„์ด ๊ฐ™๋”๋ผ๋„ ๊ฐ’์ด ํ•ญ์ƒ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
  • ์‹ฌ๋ณผ์€ ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•์œผ๋กœ ์ž๋™ ํ˜•๋ณ€ํ™˜์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
* ๊ธฐ๋ณธ ํ˜•ํƒœ *
// (1) id๋Š” ์ƒˆ๋กœ์šด ์‹ฌ๋ณผ์ด ๋ฉ๋‹ˆ๋‹ค.
let id = Symbol();

// (2) ์‹ฌ๋ณผ id์—๋Š” "id"๋ผ๋Š” ์„ค๋ช…์ด ๋ถ™์Šต๋‹ˆ๋‹ค.
let id = Symbol("id");

๐Ÿ’ก ์‹ฌ๋ณผ์€ ์œ ์ผํ•œ ๊ฐ’์„ ๋ณด์žฅํ•˜๋Š” ์ž๋ฃŒํ˜•์ด๊ธฐ ๋•Œ๋ฌธ์—, ๋™์ผํ•œ ์‹ฌ๋ณผ์„ ์—ฌ๋Ÿฌ๊ฐœ ๋งŒ๋“ค์–ด๋„ ๊ฐ ์‹ฌ๋ณผ๊ฐ’์€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์‹ฌ๋ณผ ์ด๋ฆ„์€ '์ด๋ฆ„ํ‘œ' ์—ญํ• ๋งŒ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์‰ฝ์Šต๋‹ˆ๋‹ค. โฌ‡๏ธ

const symbol1 = Symbol('id');
const symbol2 = Symbol('id');
console.log(symbol1 === symbol2); // false

 

๐Ÿ’ก ๊ฐ™๋‹ค๊ณ  ์ง€์ •ํ•˜๊ณ  ์‹ถ์œผ๋ฉด Symbol.for๋กœ ์ž‘์„ฑํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

const symbol1 = Symbol.for('id');
const symbol2 = Symbol.for('id');
console.log(symbol1 === symbol2); // true

๐Ÿ’ก ๋ฌธ์ž์—ด๊ณผ ์‹ฌ๋ณผ์€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์‹ฌ๋ณผ์„ console.log๋กœ ์ฐ์œผ๋ฉด ๊ฐ’์ด ๋‚˜์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฐ˜๋“œ์‹œ ์ถœ๋ ฅํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด .toString() ๋ฉ”์„œ๋“œ ํ˜น์€ symbol.description ํ”„๋กœํผํ‹ฐ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

let id = Symbol("id");
console.log(id.toString()); // id (symbol์ด๋ฆ„์ด ๋‚˜์˜ด)
console.log(id.description); // id (symbol์ด๋ฆ„์ด ๋‚˜์˜ด)

์‹ค์Šต ์˜ˆ์ œ

๐Ÿ‘‰ 3๊ฐœ์˜ ์ •์ˆ˜ ์ค‘ ํฐ ์ˆ˜์™€ ์ž‘์€ ์ˆ˜ ๊ตฌํ•˜๊ธฐ

let a,b,c,tmp;
let min, max;
tmp = prompt("์ฒซ๋ฒˆ์งธ ์ˆ˜ ์ž…๋ ฅ : ", ""); // prompt๋กœ ๋ฐ›์œผ๋ฉด string์œผ๋กœ ๋ฐ›์Œ. ๊ทธ๋ž˜์„œ ํ˜•๋ณ€ํ™˜ ํ•ด์ค˜์•ผ ํ•จ.
a = Number(tmp);
tmp = prompt("๋‘๋ฒˆ์งธ ์ˆ˜ ์ž…๋ ฅ : ", "");
b = Number(tmp);
tmp = prompt("์„ธ๋ฒˆ์งธ ์ˆ˜ ์ž…๋ ฅ : ", "");
c = Number(tmp);

if(a > b) {
  if(a > c) max = a;
  else max = c;
} else {
  if(b > c) max = b;
  else max = c;
}
if(a > b) {
  if(b > c) min = c;
  else min = b;
} else {
  if(a > c) min = c;
  else min = a;
}

document.write("<h3>์ œ์ผ ํฐ ๊ฐ’ : " + max + "</h3>");
document.write("<h3>์ œ์ผ ์ž‘์€ ๊ฐ’ : " + min + "</h3>");

๐Ÿ‘‰ ์ƒ๊ทผ์ด ์•Œ๋žŒ

  • ์‹œ๊ฐ„ ์ •๋ณด(์‹œ๊ฐ„, ๋ถ„)๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„ 45๋ถ„ ์ผ์ฐ ์„ค์ •ํ•˜๋Š” ๋ฌธ์ œ
let hour, min, tmp, calc;
tmp = prompt("์‹œ๊ฐ„ ์ž…๋ ฅ : " + "");
hour = Number(tmp);
tmp = prompt("๋ถ„ ์ž…๋ ฅ : " + "");
min = Number(tmp);
// ์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ „๋ถ€ '๋ถ„'์œผ๋กœ ํ™˜์‚ฐ
calc = (hour * 60) + min;
if(calc < 45) { // ํ•˜๋ฃจ ์ด์ „์œผ๋กœ ๋Œ์•„๊ฐ
  calc = (24 * 60) + min;
}
calc -= 45;
hour = parseInt(calc / 60); // ์ •์ˆ˜๋ฅผ ๋‚˜๋ˆ  ๋ฒ„๋ฆฌ๋ฉด ์‹ค์ˆ˜๋กœ ๋ณ€ํ™˜๋˜๊ธฐ ๋•Œ๋ฌธ์— parseInt ํ•ด์ค˜์•ผํ•จ.
min = calc % 60;
// `${๋ณ€์ˆ˜}`๋Š” ์ž๋ฐ”์˜ printf("%d")์™€ ๊ฐ™์€ ๋А๋‚Œ
document.write("<h2>" + `${hour}์‹œ ${min}๋ถ„` + "</h2>");

 

profile

GiantStepDEV

@kongmi

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!