potatos
𝕝𝕒𝕦𝕣𝕦𝕀
potatos
전체 방문자
였늘
μ–΄μ œ
  • λΆ„λ₯˜ 전체보기
    • Daily
    • Study
      • CS
      • Network
      • Windows
      • Linux
      • HTML & CSS
      • JavaScript
      • React
      • vue.js
      • Flutter
      • DataBase
      • Elastic Se..
      • Log
      • Coding Tes..
    • Work
      • PC
      • Mobile
      • JPGIF

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • νƒœκ·Έ
  • λ°©λͺ…둝

곡지사항

  • notice

인기 κΈ€

νƒœκ·Έ

  • μ…€λ ‰ν„°
  • 수직 μ •λ ¬
  • Linux
  • μœˆλ„μš°
  • Windows
  • JavaScript
  • μžλ°”μŠ€ν¬λ¦½νŠΈ
  • HTML
  • CSS
  • MySQL

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
potatos

𝕝𝕒𝕦𝕣𝕦𝕀

Study/JavaScript

[JavaScript] λ³€μˆ˜μ™€ μƒμˆ˜

2022. 4. 21. 17:06

λ³€μˆ˜λž€?

데이터(μ–΄λ– ν•œ 수, 문자, μœ„μΉ˜ 정보 λ“±)λ₯Ό μ €μž₯ν•  수 μžˆλŠ” λ©”λͺ¨λ¦¬ μƒμ˜ 곡간이닀.
λ³€μˆ˜λŠ” μ–Έμ œλ“  값을 μ €μž₯ν•  수 있고, 값이 변경될 수 μžˆλ‹€.
μ„ μ–Έλ˜μ§€ μ•Šμ€ λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜λ €κ³  ν•˜κ±°λ‚˜, μ ‘κ·Όν•˜λ €κ³  ν•˜λ©΄ 였λ₯˜κ°€ λ°œμƒλœλ‹€.
λ˜ν•œ, μ„ μ–Έλ˜μ§€ μ•Šμ€ λ³€μˆ˜λ₯Ό μ΄ˆκΈ°ν™”ν•  경우, μžλ™μœΌλ‘œ 선언을 λ¨Όμ €ν•œ 후에 μ΄ˆκΈ°ν™”κ°€ μ§„ν–‰λœλ‹€.
유효 λ²”μœ„μ— 따라 μ „μ—­ λ³€μˆ˜μ™€ μ§€μ—­ λ³€μˆ˜λ‘œ ꡬ뢄이 κ°€λŠ₯ν•˜λ‹€.

μ „μ—­ λ³€μˆ˜

  • ν”„λ‘œκ·Έλž¨ μ–΄λŠ κ³³μ—μ„œλ‚˜ 식별할 수 μžˆλŠ” λ³€μˆ˜λ₯Ό μ˜λ―Έν•œλ‹€.
    • ν•¨μˆ˜ μ™ΈλΆ€μ—μ„œ μ„ μ–Έλ˜μ–΄, ν”„λ‘œκ·Έλž¨ 전체에 접근이 κ°€λŠ₯ν•˜λ‹€.
  • μœ μ§€ λ³΄μˆ˜λ‚˜ μž¬μ‚¬μš©μ— λŒ€ν•΄ 관리가 μ–΄λ ΅λ‹€.

1. μ„ μ–Έκ³Ό ν• λ‹Ή

λ³€μˆ˜μ˜ μ„ μ–Έ

  1. 컴퓨터 λ©”λͺ¨λ¦¬(RAM) 상에 데이터λ₯Ό κΈ°λ‘ν•˜κΈ° μœ„ν•΄ 곡간을 μ˜ˆμ•½ν•œλ‹€.
  2. μ˜ˆμ•½ν•œ 곡간을 식별할 수 μžˆλŠ” 이름을 μ§€μ •ν•˜λŠ” 처리λ₯Ό μ§„ν–‰ν•œλ‹€.
  3. λ³€μˆ˜ 이름 μ•žμ— var ν‚€μ›Œλ“œλ₯Ό λͺ…μ‹œν•˜κ³  λ³€μˆ˜ 이름을 μ§€μ •ν•œλ‹€.
  4. ν•˜λ‚˜μ˜ ꡬ문은 μ„Έλ―Έμ½œλ‘ μœΌλ‘œ λλ‚˜μ•Ό ν•œλ‹€.
var λ³€μˆ˜μ΄λ¦„;
  • λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜κ²Œ 되면 아무 의미 μ—†λŠ” 값인 null 값이 λ‹΄κΈ°λ©°, null 값을 μ΄ˆκΈ°ν™”μ‹œμΌœ μ£Όμ–΄μ•Ό ν•œλ‹€.
    • λ³€μˆ˜μ— 값을 처음 ν• λ‹Ήν•˜λŠ” 것을 μ΄ˆκΈ°ν™”λΌκ³  ν•œλ‹€.
    • κ·ΈλŸ¬λ‚˜ 이것을 μ΄ˆκΈ°ν™”ν•œλ‹€κ³  ν•˜μ§€ μ•Šκ³ , λ³€μˆ˜μ— 값을 ν• λ‹Ήν•œλ‹€κ³  ν‘œν˜„ν•œλ‹€.
    • μ΄ˆκΈ°ν™”λŠ” ν•„μ‹œ μƒμˆ˜λ‘œ ν•΄ μ£Όμ–΄μ•Ό ν•œλ‹€.

λ³€μˆ˜ κ°’μ˜ ν• λ‹Ή

μ„ μ–Έλœ λ³€μˆ˜μ— λŒ€μž… μ—°μ‚°μž=λ₯Ό μ‚¬μš©ν•˜μ—¬ 값을 λŒ€μž…ν•˜λŠ” 것을 ν• λ‹Ήμ΄λΌκ³  ν•œλ‹€.
할당은 항상 μ˜€λ₯Έμͺ½μ—μ„œ μ™Όμͺ½μœΌλ‘œ λŒ€μž…ν•œλ‹€.
λ³€μˆ˜μ΄λ¦„ = κ°’;

μ„ μ–Έκ³Ό ν• λ‹Ήμ˜ 톡합

λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜λ©΄μ„œ λŒ€μž… μ—°μ‚°μžλ₯Ό ν™œμš©ν•΄ κ°’μ˜ ν• λ‹ΉκΉŒμ§€ ν•œ λΌμΈμ—μ„œ 처리 κ°€λŠ₯ν•˜λ‹€.
var λ³€μˆ˜μ΄λ¦„ = κ°’;

2. λ³€μˆ˜ κ°’ λ³€κ²½ν•˜κΈ°

ν•œ 번 값이 ν• λ‹Ήλœ λ³€μˆ˜λŠ” μ–Έμ œλ“  λͺ‡ 번이고 λ‹€λ₯Έ κ°’μœΌλ‘œ μƒˆλ‘­κ²Œ ν• λ‹Ή, 즉, 변경이 κ°€λŠ₯ν•˜λ‹€.

var num = 100;
num = 200; // λ³€κ²½

3. λ³€μˆ˜ 이름 κ·œμΉ™

  1. μ˜μ–΄, 숫자, 언더바(_), '$' 기호만 μ‚¬μš© κ°€λŠ₯ν•˜λ‹€.
  2. 첫 κΈ€μžλŠ” 숫자둜 μ‹œμž‘ν•  수 μ—†λ‹€.
    • 일반적으둜 μ˜μ–΄ μ†Œλ¬Έμžλ‘œ μ‹œμž‘ν•œλ‹€.
  3. 두 개 μ΄μƒμ˜ 단어λ₯Ό κ²°ν•©ν•˜μ—¬ 이름을 μ§€μ •ν•˜λŠ” 경우
    • μŠ€λ„€μ΄ν¬ ν‘œκΈ°λ²•: 띄어쓰기가 ν•„μš”ν•œ μœ„μΉ˜μ—μ„œ 언더바λ₯Ό μ‚¬μš©ν•œλ‹€.
      • λ³€μˆ˜λ₯Ό μ •μ˜ν•  λ•ŒλŠ” 잘 μ‚¬μš©λ˜μ§€ μ•ŠλŠ”λ‹€.
      • ex) home + work = home_work
    • 카멜 ν‘œκΈ°λ²•: 띄어쓰기가 ν•„μš”ν•œ μœ„μΉ˜μ˜ 첫 κΈ€μžλ₯Ό λŒ€λ¬Έμžλ‘œ λ³€κ²½ν•˜μ—¬ μ‚¬μš©ν•œλ‹€.
      • λ³€μˆ˜λ₯Ό μ •μ˜ν•  λ•Œλ₯Ό ν¬ν•¨ν•˜μ—¬ 거의 λŒ€λΆ€λΆ„μ˜ 경우, 일반적으둜 μ‚¬μš©ν•œλ‹€.
      • ex) home + work = homeWork
  4. 잘 μ•Œλ €μ§€μ§€ μ•Šμ€ κ·œμΉ™μ΄μ§€λ§Œ, UTF-8 ν™˜κ²½μ—μ„œλŠ” ν•œκΈ€λ„ μ‚¬μš© κ°€λŠ₯ν•˜λ‹€.

4. μ „μ—­ λ³€μˆ˜μ˜ μž¬μ„ μ–Έ

var ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ μ„ μ–Έλœ λ³€μˆ˜λŠ” 쀑볡 선언이 κ°€λŠ₯ν•˜λ©°, λ³€μˆ˜ μŠ€μ½”ν”„(μœ νš¨μ„± λ²”μœ„)도 λ¬΄μ‹œλœλ‹€.
μ΄λŸ¬ν•œ νŠΉμ„±μ€ JSλ₯Ό μ œμ™Έν•œ λͺ¨λ“  ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ“€μ˜ κ·œμΉ™μ— μœ„λ°°λ˜λŠ” μ‚¬ν•­μ΄λ―€λ‘œ 가급적 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 것을 ꢌμž₯ν•œλ‹€.
κ·ΈλŸ¬λ―€λ‘œ, var μ‚¬μš©μ„ μžμ œν•˜λŠ” 것이 μ’‹λ‹€.

μ§€μ—­λ³€μˆ˜

ν•¨μˆ˜ λ‚΄λΆ€μ—μ„œ μ„ μ–Έλ˜κ³  ν•¨μˆ˜ λ‚΄λΆ€μ—μ„œλ§Œ μž‘μš©ν•˜λŠ” λ³€μˆ˜μ΄λ©°, ν•¨μˆ˜λ₯Ό λ²—μ–΄λ‚˜κ²Œ 되면 λ³€μˆ˜μ˜ λ©”λͺ¨λ¦¬ 곡간이 μ†Œλ©Έλ˜μ–΄ 사라진닀.
μ™ΈλΆ€μ—μ„œ 접근이 λΆˆκ°€λŠ₯ν•˜λ©°, μ΄ˆκΈ°ν™”λ₯Ό ν•˜μ§€ μ•ŠμœΌλ©΄ μ—λŸ¬κ°€ λ‚˜κ±°λ‚˜ μ“°λ ˆκΈ° 값이 μ§€μ •λœλ‹€.
ES6 λ²„μ „μ—μ„œ μƒˆλ‘­κ²Œ μΆ”κ°€λœ λ³€μˆ˜ 생성 방법이며, λŒ€λΆ€λΆ„μ˜ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—μ„œ λ§ν•˜λŠ” 일반적인 λ³€μˆ˜μ˜ 생성 κ·œμΉ™μ„ λ”°λ₯Έλ‹€.
κ·ΈλŸ¬λ―€λ‘œ, μ „μ—­ λ³€μˆ˜λ³΄λ‹€λŠ” μ§€μ—­ λ³€μˆ˜μ˜ μ‚¬μš©μ„ ꢌμž₯ν•œλ‹€.

1. μ§€μ—­ λ³€μˆ˜μ˜ μ„ μ–Έκ³Ό ν• λ‹Ή

μ§€μ—­ λ³€μˆ˜ μ„ μ–Έ

let ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ μ„ μ–Έν•œλ‹€.
let λ³€μˆ˜μ΄λ¦„;

μ§€μ—­ λ³€μˆ˜ ν• λ‹Ή

var ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•œ μ „μ—­ λ³€μˆ˜μ˜ κ²½μš°μ™€ λ™μΌν•˜λ‹€.
λ³€μˆ˜μ΄λ¦„ = κ°’;

μ„ μ–Έκ³Ό ν• λ‹Ή 톡합

var ν‚€μ›Œλ“œμ˜ κ²½μš°μ™€ λ™μΌν•œ κ·œμΉ™μœΌλ‘œ μ„ μ–Έκ³Ό 할당을 ν•œ 행에 μΆ•μ•½ν•œλ‹€.
let λ³€μˆ˜μ΄λ¦„ = κ°’;

2. 쀑볡 μ„ μ–Έ κΈˆμ§€

let ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ μ„ μ–Έλœ λ³€μˆ˜λŠ” μ€‘볡 선언이 λΆˆκ°€λŠ₯ν•˜λ©°, 
일반적인 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ˜ κ·œμΉ™μ„ λͺ¨λ‘ λ”°λ₯Έλ‹€.

β€» μ „μ—­ λ³€μˆ˜μ™€ μ§€μ—­ λ³€μˆ˜ 비ꡐ

μ „μ—­ λ³€μˆ˜ μ§€μ—­ λ³€μˆ˜
ν”„λ‘œκ·Έλž¨ μ–΄λŠ κ³³μ—μ„œλ‚˜ 식별이 κ°€λŠ₯ν•˜λ‹€. ν•¨μˆ˜ λ‚΄λΆ€μ—μ„œ μ„ μ–Έλ˜κ³  ν•¨μˆ˜ λ‚΄λΆ€μ—μ„œλ§Œ μž‘μš©ν•œλ‹€.
μ™ΈλΆ€μ—μ„œ 접근이 λΆˆκ°€ν•˜λ‹€.
쀑볡 선언이 κ°€λŠ₯ν•˜λ‹€. 쀑볡 선언이 λΆˆκ°€ν•˜λ‹€.
일반적인 λ³€μˆ˜μ˜ 생성 κ·œμΉ™μ„ λ”°λ₯΄μ§€ μ•ŠλŠ”λ‹€.
λ³€μˆ˜ μŠ€μ½”ν”„(μœ νš¨μ„± λ²”μœ„)κ°€ λ¬΄μ‹œλœλ‹€.
일반적인 λ³€μˆ˜μ˜ 생성 κ·œμΉ™μ„ λ”°λ₯Έλ‹€.

μƒμˆ˜

졜초둜 값을 ν• λ‹Ήν•œ 이후, 값을 λ³€κ²½ν•  수 μ—†λŠ” μƒνƒœ(=읽기 μ „μš©)을 μƒμˆ˜λΌκ³  ν•œλ‹€.
const ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜λ©°, μ„ μ–Έκ³Ό λ™μ‹œμ— 값이 ν• λ‹Ήλ˜μ–΄μ•Ό ν•œλ‹€.
λ§Œμ•½ μ„ μ–Έν•œ ν›„, 값을 λŒ€μž…ν•˜κ²Œ 되면 였λ₯˜κ°€ λ°œμƒν•œλ‹€.
값이 λ³€ν•  수 μžˆλŠ” λ³€μˆ˜μ™€λŠ” 달리, μƒμˆ˜λŠ” λ³€ν•˜μ§€ μ•Šκ³  κ³ μ •λœ 값을 κ°€μ§„λ‹€. 그렇기에 μž¬μ„ μ–Έμ΄ λΆˆκ°€ν•˜λ‹€,
λ³€μˆ˜μ™€ μ€‘λ³΅λœ 이름을 κ°€μ§€λŠ” 것이 λΆˆκ°€λŠ₯ν•˜λ©°, 전역이 될 μˆ˜λ„, 지역이 될 μˆ˜λ„ μžˆλ‹€.

1. μƒμˆ˜ 이름 κ·œμΉ™

λŒ€λ¬Έμžλ§Œμ„ κ΅¬μ„±λœ μŠ€λ„€μ΄ν¬ ν‘œκΈ°λ²• μ‚¬μš©

const NUMBER = 123;
const MY_NUMBER = 456;

카멜 ν‘œκΈ°λ²•μ„ μ‚¬μš©ν•˜λŠ” κ²½μš°λ„ μ’…μ’… 있음

const number = 123;
const myNumber = 456;

2. μƒμˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” 이유

μƒμˆ˜μ˜ νŠΉμ„±μœΌλ‘œ 인해, μ½”λ“œλ₯Ό μƒλŒ€μ μœΌλ‘œ 더 μ—„κ²©ν•˜κ²Œ μ‚¬μš©ν•˜λŠ” μž₯점이 μžˆμ–΄ μ˜ˆμƒν•˜μ§€ λͺ»ν•œ 였λ₯˜λ₯Ό μ€„μ΄λŠ” 데에 도움이 λœλ‹€.

 


var / let / const의 차이점

var

  • 쀑볡 μ„ μ–Έ κ°€λŠ₯
  • μž¬ν• λ‹Ή κ°€λŠ₯
  • μ–΄λŠ κ³³μ—μ„œλ‚˜ 식별 κ°€λŠ₯ (μ „μ—­ λ³€μˆ˜)

let

  • 쀑볡 μ„ μ–Έ λΆˆκ°€λŠ₯
  • μž¬ν• λ‹Ή κ°€λŠ₯
  • μ™ΈλΆ€μ—μ„œ μ ‘κ·Ό λΆˆκ°€λŠ₯ (μ§€μ—­ λ³€μˆ˜)

const

  • μ„ μ–Έκ³Ό λ™μ‹œμ— κ°’ ν• λ‹Ή
  • 쀑볡 μ„ μ–Έ λΆˆκ°€λŠ₯
  • μž¬ν• λ‹Ή λΆˆκ°€λŠ₯ (κ³ μ •λœ 값을 가짐)

'Study > JavaScript' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[JavaScript] μ—°μ‚°μž(operator)  (0) 2022.04.23
[JavaScript] μ΄μŠ€μΌ€μ΄ν”„ μ‹œν€€μŠ€ (μ΄μŠ€μΌ€μ΄ν”„ 문자)  (0) 2022.04.21
[JavaScript] ν˜•μ‹ 문자 (λ¬Έμžμ—΄ μΉ˜ν™˜ μ‚¬μš©)  (0) 2022.04.21
[JavaScript] 데이터 νƒ€μž…  (0) 2022.04.21
[JavaScript] JavaScriptλž€?  (0) 2022.04.14
    'Study/JavaScript' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • [JavaScript] μ΄μŠ€μΌ€μ΄ν”„ μ‹œν€€μŠ€ (μ΄μŠ€μΌ€μ΄ν”„ 문자)
    • [JavaScript] ν˜•μ‹ 문자 (λ¬Έμžμ—΄ μΉ˜ν™˜ μ‚¬μš©)
    • [JavaScript] 데이터 νƒ€μž…
    • [JavaScript] JavaScriptλž€?
    potatos
    potatos

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”