230223 - javascript๋ณ€์ˆ˜, node.js

๋ฐฑ์Šน์—ฐยท2023๋…„ 2์›” 23์ผ
1

๐Ÿšฉ Javascript

javascript๋ž€?

๐Ÿ“ ์„ค๋ช…

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(JavaScript)๋Š” ๊ฐ์ฒด(object) ๊ธฐ๋ฐ˜์˜ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์ž…๋‹ˆ๋‹ค.
    HTML๋กœ๋Š” ์›น์˜ ๋‚ด์šฉ์„ ์ž‘์„ฑํ•˜๊ณ , CSS๋กœ๋Š” ์›น์„ ๋””์ž์ธํ•˜๋ฉฐ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ๋Š” ์›น์˜ ๋™์ž‘์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•œ ์ค„์”ฉ ์‹คํ–‰ํ•˜๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด.


๐Ÿ”— ์ฐธ๊ณ  ๋งํฌ & ๋„์›€์ด ๋˜๋Š” ๋งํฌ






๐Ÿšฉ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•

document.write()

๐Ÿ“ ์„ค๋ช…

  • ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ
  • ํ™”๋ฉด์— ๊ธ€์”จ๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.

โœ’๏ธ ์‚ฌ์šฉ๋ฒ•

์ž…๋ ฅ

document.write('hello world');

์ถœ๋ ฅ

  • ์ด๋ฏธ์ง€๋กœ ๋Œ€์ฒด

๐Ÿ”— ์ฐธ๊ณ  ๋งํฌ & ๋„์›€์ด ๋˜๋Š” ๋งํฌ






๐Ÿšฉ javascript ๋ณ€์ˆ˜

var / let / const

๐Ÿ“ ์„ค๋ช…

  • javascipt์—์„œ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„. ์ž๋ฃŒ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฆ„์ด ์žˆ๋Š” ๊ธฐ์–ต์žฅ์†Œ์ด๋‹ค.

var

  • ํ˜„์žฌ ์‚ฌ์šฉ์ด ๊ถŒ์žฅ๋˜์ง€ ์•Š๋Š” ๋ณ€์ˆ˜์ด๋‹ค. (๊ฑฐ์˜ ์‚ฌ์šฉx) ์žฌ์„ ์–ธ, ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
var a = 12;
a = 10; 
// a = 10
 

var a = 12;
var a = 10;
// a = 10

let

  • ์„ ์–ธ๋œ ๋ธ”๋ก ๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ณ€์ˆ˜
  • ๊ฐ’์„ ์žฌํ• ๋‹น(์—…๋ฐ์ดํŠธ) ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์žฌ์„ ์–ธ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
    ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค๋ฅธ ๋ฒ”์œ„์—์„œ ์žฌ์„ ์–ธ์€ ๊ฐ€๋Šฅํ•˜๋‹ค.
let a = 12;
a = 10; 
// a = 10
 

let a = 12;
let a = 10;
// ์˜ค๋ฅ˜

const

  • ์„ ์–ธ๋œ ๋ธ”๋ก ๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ณ€์ˆ˜
  • ์žฌ์„ ์–ธ๊ณผ ์žฌ์ •์˜ ์ „๋ถ€ ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ณ€์ˆ˜์ด๋‹ค.
  • ๊ฐ์ฒด์˜ ์†์„ฑ์€ ์—…๋ฐ์ดํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
const a = 12;
a = 10;
//์˜ค๋ฅ˜

const a = 12;
const a = 10;
//์˜ค๋ฅ˜

a = {
	number: one;
}
a.message = "hello world";
// ์—…๋ฐ์ดํŠธ ๊ฐ€๋Šฅ

โœ’๏ธ ์‚ฌ์šฉ๋ฒ•

์ž…๋ ฅ

var a = 12;
let b = 12;
const b = 12;


๐Ÿ”— ์ฐธ๊ณ  ๋งํฌ & ๋„์›€์ด ๋˜๋Š” ๋งํฌ






๐Ÿšฉ Node.js

node.js

๐Ÿ“ ์„ค๋ช…

  • Node.js๋Š” Chrome V8 JavaScript ์—”์ง„์œผ๋กœ ๋นŒ๋“œ ๋œ JavaScript ๋Ÿฐํƒ€์ž„์ž…๋‹ˆ๋‹ค.
  • ์ฆ‰ ๋…ธ๋“œ๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.


โœ’๏ธ ์‚ฌ์šฉ๋ฒ•

node.js ์„ค์น˜ ๋ฐฉ๋ฒ•

  • node.js ํ™ˆํŽ˜์ด์ง€์— ์ ‘์†ํ•˜์—ฌ ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›๊ณ  ์„ค์น˜ํ•œ๋‹ค.
    ์„ค์น˜ ํ™•์ธ์€ ํ„ฐ๋ฏธ๋„์—์„œ node -v๋ฅผ ์ž‘์„ฑํ•œ ํ›„ ์—”ํ„ฐํ•˜๋ฉด node์˜ ๋ฒ„์ „์ด ๋‚˜์˜จ๋‹ค.

์ž‘์„ฑ ํด๋” ์•ˆ์—์„œ shift ์šฐํด๋ฆญ ํ•˜๋ฉด powershell๋กœ ์—ด๊ธฐ๊ฐ€ ๋œจ๋Š”๋ฐ, ํด๋ฆญ ํ›„ powershell์—์„œ code ์น˜๋ฉด vscode๊ฐ€ ์—ด๋ฆผ
-> code ๋Œ€์‹  code . ์„ ์น˜๋ฉด ํ•ด๋‹น ํด๋”๊ฐ€ ์—ด๋ฆผ


nodemon

๐Ÿ“ ์„ค๋ช…

  • js ํŒŒ์ผ์„ html์— ๊ฒฐํ•ฉํ•˜์ง€ ์•Š๊ณ  ๋‹จ๋…์œผ๋กœ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ณด๊ธฐ ์œ„ํ•ด ์„ค์น˜ํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.


โœ’๏ธ ์‚ฌ์šฉ๋ฒ•

node.js ์„ค์น˜ ๋ฐฉ๋ฒ•

  • ํ„ฐ๋ฏธ๋„์— npm install nodemon -g๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์„ค์น˜ํ•œ๋‹ค.
    ์„ค์น˜ ํ™•์ธ์€ nodemon -v๋ฅผ ์ž‘์„ฑํ•œ ํ›„ ์—”ํ„ฐํ•˜๋ฉด nodemon์˜ ๋ฒ„์ „์ด ๋‚˜์˜จ๋‹ค.
  • ์‹คํ–‰ ๋ฐฉ๋ฒ•์€ nodemon ํŒŒ์ผ๋ช….js๋กœ ์‹คํ–‰ํ•œ๋‹ค.

์ด๋•Œ ํ„ฐ๋ฏธ๋„์€ powershell ๋Œ€์‹  cmd๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์‚ฌ์šฉํ•ด์•ผ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์ง€ ์•Š๋Š”๋‹ค.

  • nodemon์„ ์ข…๋ฃŒํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ํ„ฐ๋ฏธ๋„์—์„œ ctrl+c๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ข…๋ฃŒ๋œ๋‹ค.






code>data>stack>heap(๋ฉ”๋ชจ๋ฆฌ)
code/data ์ •์ ์„ธ๊ทธ๋จผํŠธ
stack/heap ๋™์ ์„ธ๊ทธ๋จผํŠธ
code : ์ž‘์„ฑํ•œ ์ฝ”๋“œ๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๋ถ€๋ถ„. read only
data : ์ „์—ญ๋ณ€์ˆ˜(global), ์ •์ ๋ณ€์ˆ˜(static), ๋ฐฐ์—ด(array), ๊ตฌ์กฐ์ฒด(structure) ๋“ฑ์ด ์ €์žฅ
ํ•จ์ˆ˜ ๋‚ด (mainํ•จ์ˆ˜ ํฌํ•จ)๋ณ€์ˆ˜๋“ค์€ ํ•ด๋‹นx
stack : ์ง€์—ญ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜, ๋ณต๊ท€ ๋ฒˆ์ง€ ๋“ฑ์ด ์ €์žฅ๋˜์–ด ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์ž๋™์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ž„์‹œ ๋ฉ”๋ชจ๋ฆฌ. Last In First Out ์ •์ฑ…์„ ์‚ฌ์šฉ
heap : ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋™์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์˜์—ญ
malloc, free ๋˜๋Š” new, delete ์— ์˜ํ•˜์—ฌ ํ• ๋‹น, ๋˜๋Š” ๋ฐ˜ํ™˜๋˜๋Š” ์˜์—ญ์ด์ง€์š”.

profile
๊ณต๋ถ€ํ•˜๋Š” ๋ฒจ๋กœ๊ทธ

0๊ฐœ์˜ ๋Œ“๊ธ€