π μλ°μ€ν¬λ¦½νΈμμ λͺ¨λμ΄λ?
λͺ¨λμ νλμ νμΌ μμ κΈ°λ₯μ μΊ‘μννκ³ , νμν λΆλΆλ§ μΈλΆλ‘ λ΄λ³΄λ΄ λ€λ₯Έ μ½λμμ μ¬μ¬μ©ν μ μκ² ν΄μ£Όλ μ½λ λ¨μμ΄λ€.
-> μ¦, νλμ js νμΌμμ λ€λ₯Έ jsνμΌ ν¨μ/κ°μ²΄λ₯Ό μ΄μ©νλ λ°©λ²!!
π 1. <script> νκ·Έ μ΄μ©
κΈ°λ³Έμ μΌλ‘ JSPμμ JavaScript νμΌμ κ°μ Έμ€λ €λ©΄ <script src="..."></script>λ₯Ό μ¬μ©νλ©΄ λλ€.
μ€ν¬λ¦½νΈ νμΌ μ 체λ₯Ό λ‘λν΄μ μ μμ μΆκ°νλ λ°©μ. -> μ μ λ³μ μΆ©λ μν, λ‘λ μμκ° μ€μν λ¨μ μ΄ μλ€!!
<script src="/resources/js/common.js"></script>
βοΈ common.js νμΌμ΄ λ‘λλλ©°, μ μ μ€μ½ν(window)μμ μ¬μ© κ°λ₯.
π 2. window κ°μ²΄ νμ©
λΈλΌμ°μ μ μ μ κ°μ²΄μΈ windowμ λ±λ‘νλ λ°©λ².
νΉμ ν¨μ/κ°μ²΄λ§ μ μμ λ ΈμΆ -> νμ§λ§ μ¬μ ν μΆ©λμν/λ‘λ μμ μ€μ.
π math.js (λͺ¨λ νμΌμ μ μ λ³μλ‘ λ±λ‘)
function add(a, b) {
return a + b;
}
// μ μ κ°μ²΄μ λ±λ‘
window.MathUtils = { add };
π index.jsp (λͺ¨λμ²λΌ μ¬μ©)
<script src="/resources/js/math.js"></script>
<script>
console.log("3 + 5 =", MathUtils.add(3, 5));
</script>
βοΈ JSPμμ <script type="module"> μμ΄λ ES6 λͺ¨λμ²λΌ νμ©ν μ μλ€.
βοΈ μ΄ν΄λ¦½μ€μμλ μ½λ μμμ΄ μ μμ μΌλ‘ νμ.
π 3. ES6 λͺ¨λ(export / import) μ¬μ©
β ES6 λͺ¨λμ΄λ?
- ES6(ECMAScript 2015)**μμ μ²μ λμ λ μλ°μ€ν¬λ¦½νΈ 곡μ λͺ¨λ μμ€ν
- μ΄μ μλ require, module.exports κ°μ CommonJSλ, <script>λ‘ μ¬λ¬ JS νμΌμ λΆλ¬μ€λ μμΌλ‘ λͺ¨λνλ₯Ό νλλ°, ES6λΆν°λ νμ€ λ¬Έλ²μΌλ‘ import / exportλ₯Ό μ§μ
β ES6 λͺ¨λμ μ¬μ©νλ €λ©΄?
<script type="module">μ μ¬μ©!! JSPμμ νμ€ λ°©μμ΄λ€.
- νμΌμ΄ λ 립λ λͺ¨λ μ€μ½νλ‘ μ€νλ¨ → μ μ μ€μΌ X.
- import / export λ¬Έλ²μΌλ‘ λͺ¨λ κ° μμ‘΄μ±μ λͺ μμ μΌλ‘ ννν μ μμ.
- λΈλΌμ°μ κ° μλμΌλ‘ μμ‘΄μ± νΈλ¦¬λ₯Ό νμ ν΄μ νμν λͺ¨λμ λΆλ¬μ΄ → λ‘λ μμλ₯Ό μ κ²½ μ μ¨λ λ¨.
- κΈ°λ³Έμ μΌλ‘ μ§μ° μ€ν(defer) λ¨ → HTML νμ±μ΄ λλ λ€ μ€ν.
π math.js (λͺ¨λ νμΌ, export μ¬μ©)
export function add(a, b) {
return a + b;
}
π index.jsp (λͺ¨λ κ°μ Έμ€κΈ°, import μ¬μ©)
<script type="module">
import { add } from "./resources/js/math.js";
console.log("3 + 5 =", add(3, 5));
</script>
βοΈ λͺ¨λμ μ¬μ©νλ©΄ import ν€μλλ₯Ό ν΅ν΄ νΉμ ν¨μλ§ κ°μ Έμ¬ μ μλ€.
β μ΄ν΄λ¦½μ€μμλ <script type="module">μ μ¬μ©νλ©΄ μ½λ μμμ΄ μ¬λΌμ§λ λ¬Έμ κ° λ°μ.
'Frontend > javaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| 첨λΆνμΌ κ΄λ¦¬ (DataTransfer) (0) | 2025.11.08 |
|---|---|
| summernote - μλν° λΌμ΄λΈλ¬λ¦¬ (0) | 2025.08.31 |
| JavaScript μ½λ μ€ν μμ & μ€ν νμ΄λ° μ μ΄ (0) | 2025.04.06 |
| [JavaScript] νΈμ΄μ€ν (Hoisting) (0) | 2024.07.05 |
| iframe sesstion timeout (0) | 2023.10.13 |