
console.log(μΆλ ₯λ΄μ©) λ©μλλ₯Ό μ¬μ©ν΄μ μ½μμ λ©μΈμ§λ λ³μκ°μ μΆλ ₯ν©λλ€.
μ½μμ νμ΄μ§ μ°ν΄λ¦ > κ²μ¬ > μλ¨ λ©λ΄λ° Console μ ν΅ν΄ μ΄ μ μμ΅λλ€.
console.log("String:", "Hello, world!"); console.log("Number:", 1234); console.log("Object:", {name: "youn", age: 22}); console.log("Array:", [1, 2, 3, 4]);μ½μ μΆλ ₯ κ²°κ³Ό
κ°μ²΄λ λ€μν property(μμ±)κ³Ό function(λ©μλ)λ₯Ό κ°μ§ μ μμΌλ©°, κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ κΈ°λ³Έμ μΈ λ¨μλ‘ μ¬μ©λ©λλ€.
//Object(κ°μ²΄) const person = { //property(μμ±) name: "youn", age: 22, //function(λ©μλ) greet: function() { console.log("Hello, " + this.name); } }; //κ°μ²΄ μ¬μ©νκΈ° console.log(person.name); // "youn" console.log(person.age); // 22 person.greet(); // "Hello, youn"
JavaScriptμμ constμ letμ λͺ¨λ λ³μλ₯Ό μ μΈνλ λ° μ¬μ©λ©λλ€. νμ§λ§ μ¬ν λΉ κ°λ₯μ±μ μμ΄ μ°¨μ΄κ° μμ΅λλ€.
letμΌλ‘ μ μΈλ λ³μλ μλ‘μ΄ κ°μΌλ‘ μ¬ν λΉν μ μμ΅λλ€.let y = 5; y = 20; // μ ν¨ν¨ console.log(y); // 20
constλ‘ μ μΈλ λ³μλ μ΄κΈ° ν λΉ μ΄νμ μ¬ν λΉν μ μμ΅λλ€. νμ§λ§ κ°μ²΄λ λ°°μ΄μΈ κ²½μ°, κ°μ²΄μ μμ±μ΄λ λ°°μ΄μ μμλ λ³κ²½ν μ μμ΅λλ€.const b = 10; //λ³μμΌ λ b = 20; // μ¬ν λΉ λΆκ°λ₯ // const obj = { key: 'value' }; //κ°μ²΄μΌ λ obj.key = 'newValue'; // μμ±μ λ³κ²½ κ°λ₯ console.log(obj.key); // 'newValue' // const arr = [1, 2, 3]; //λ°°μ΄μΌ λ arr.push(4); // μμ λ³κ²½ κ°λ₯ console.log(arr); // [1, 2, 3, 4]
"Not-a-Number"μ μ½μλ‘, μ«μκ° μλ κ°μ λνλ΄λ νΉμν κ°μ λλ€.
Number.isNaN() λλ isNaN() ν¨μλ₯Ό μ¬μ©ν©λλ€.console.log(Number.isNaN(NaN)); // true console.log(isNaN(NaN)); // true
console.log(NaN === NaN); // false
nullκ³Ό undefinedλ λͺ¨λ κ°μ΄ μμμ λνλ΄μ§λ§, μλ―Έμ μ©λκ° λ€λ¦
λλ€.
undefined
- λ³μλ₯Ό μ μΈνμ§λ§ κ°μ ν λΉνμ§ μμμ λ
let x; console.log(x); // undefined
- κ°μ²΄μ μ‘΄μ¬νμ§ μλ μμ±μ μ κ·Όν λ
let obj = { name: "Alice" }; console.log(obj.age); // undefined
- λ°νκ°μ΄ μλ ν¨μ
function greet() { console.log("Hello"); } let result = greet(); console.log(result); // undefined
- ν¨μ νΈμΆν μ μΈμλ₯Ό μ 곡νμ§ μμμ λ
function printMessage(message) { console.log(message); } printMessage(); // undefined
null
- μλμ μΌλ‘ λΉμ΄μμ
nullμ μλμ μΌλ‘ κ°μ΄ μμμ λνλΌ λ μ¬μ©ν©λλ€. νμ¬ κ°μ΄ μμ§λ§ λμ€μ κ°μ§ μ μμμ λͺ νν ν©λλ€.let y = null; console.log(y); // null
- κ°μ²΄μ μ΄κΈ°ν
λ³μκ° λμ€μ κ°μ²΄λ₯Ό κ°λ¦¬ν¬ κ²μμ λͺ νν νκΈ° μν΄ nullλ‘ μ΄κΈ°νν μ μμ΅λλ€.let obj = null; // λμ€μ objμ κ°μ²΄λ₯Ό ν λΉν κ³ν obj = { name: "youn" };
null vs undefined
- νμ
undefinedλundefinedνμ μ λλ€.
nullμ object νμ μ λλ€.+) λ λ€ μλ£νμΌκΉ?
undefinedμnullλͺ¨λ μλ£νμ΄λΌκ³ ν μ μμ§λ§, κ·Έ νμ μ λ€λ¦ λλ€!
undefinedλ κ·Έ μμ²΄λ‘ μλ£νμ΄κ³ ,nullμ object νμ μΌλ‘ λΆλ₯λμ§λ§, μ΄λ μμ¬μ μΈ μ΄μ λλ¬Έμ λλ€.console.log(typeof undefined); // "undefined" console.log(typeof null); // "object"
- μλ
undefinedλ μλ°μ€ν¬λ¦½νΈκ° μλμΌλ‘ ν λΉνλ κ°μ λλ€.
nullμ νλ‘κ·Έλλ¨Έκ° μλμ μΌλ‘ ν λΉνλ κ°μΌλ‘, λ³μκ° νμ¬ μ무 κ°λ κ°μ§κ³ μμ§ μμμ λνλ λλ€.
===κ³Ό ==μ μ°¨μ΄μ ===μ ==λ λͺ¨λ λΉκ΅ μ°μ°μμ΄μ§λ§, κ·Έ μλ λ°©μμ μ°¨μ΄κ° μμ΅λλ€.
===λ μ격ν λλ± μ°μ°μλ‘ νμ
κ³Ό κ°μ΄ λͺ¨λ κ°μμΌ μ°Έ(true)μ λ°νν©λλ€.
==λ λμ¨ν λλ± μ°μ°μλ‘ κ°λ§ λΉκ΅νλ©°, λΉκ΅ μ μ νμ
μ μλμΌλ‘ λ³ννμ¬ κ²μ¬ν©λλ€.
0 vs false
console.log(0 === false); // false console.log(0 == false); // true (falseκ° μ«μ 0μΌλ‘ λ³νλ¨)
null vs undefined
console.log(null === undefined); // false console.log(null == undefined); // true (κ°μ΄ μμμ λνλ΄λ―λ‘ κ°λ€κ³ κ°μ£Ό)
λ¬Έμμ΄μ μ μλ‘ λ³ννλ λ° μ¬μ©νλ ν¨μμ λλ€!
parseInt(λ³νν λ¬Έμμ΄, nμ§μ);
let num = parseInt("123");
console.log(num); // 123
1.
getElementById
- μ©λ: μ£Όμ΄μ§ β¨id μμ±β¨μ κ°μ§ μμλ₯Ό μ ν
- μΈμ: μ νν μμμ id λ¬Έμμ΄
- λ°ν κ°: μ£Όμ΄μ§ id κ°μ κ°μ§ 첫 λ²μ§Έ μμλ₯Ό λ°νν©λλ€. μμκ° μμΌλ©΄ nullμ λ°νν©λλ€.
- νΉμ§: idλ HTML λ¬Έμμμ μ μΌν΄μΌ νλ―λ‘, λ°νλλ μμλ νλμ λλ€.
let element = document.getElementById("uniqueElement"); console.log(element); // html λ¬Έμμμ : <div id="uniqueElement"></div>
2.
getElementsByClassName
- μ©λ: β¨μ£Όμ΄μ§ ν΄λμ€ μ΄λ¦μ κ°μ§ λͺ¨λ μμβ¨ μ ν
- μΈμ: μ νν μμμ ν΄λμ€ μ΄λ¦ λ¬Έμμ΄
let elements = document.getElementsByClassName("myClass"); console.log(elements); // HTMLλ¬Έμμμ myClass ν΄λμ€ μ΄λ¦ μμ μ λΆ κ°μ Έ μ΄ //<div class="myClass">Item 1</div> //<div class="myClass">Item 2</div> //<div class="myClass">Item 3</div>
3.
getElementsByTagName
- μ©λ: β¨μ£Όμ΄μ§ νκ·Έ μ΄λ¦μ κ°μ§ λͺ¨λ μμβ¨ μ ν
- μΈμ: μ νν μμμ νκ·Έ μ΄λ¦ λ¬Έμμ΄
let elements = document.getElementsByTagName("p"); console.log(elements); // HTMLλ¬Έμμμ pνκ·Έ μ λΆ κ°μ Έ μ΄ //<p>Paragraph 1</p> //<p>Paragraph 2</p> //<p>Paragraph 3</p>
let elementByQuery = document.querySelector("#uniqueElement");
let elementsByQueryAll = document.querySelectorAll(".myClass");
μ ν λ°©λ²:
getElementBy μλ¦¬μ¦ : id, ν΄λμ€ μ΄λ¦, νκ·Έ μ΄λ¦ λ±μ κΈ°μ€μΌλ‘ μμ μ ν
querySelector λ° querySelectorAll : πCSS μ νμπλ₯Ό μ¬μ©νμ¬ μμλ₯Ό μ νν©λλ€.
μ μ°μ±:
querySelector λ° querySelectorAllμ CSS μ νμλ₯Ό μ¬μ©νκΈ° λλ¬Έμ λ μ μ°νκ³ λ€μν μ ν κΈ°μ€μ μ 곡ν©λλ€.
preventDefault() λ©μλλ μ΄λ²€νΈμ κΈ°λ³Έ λμ(Default)μ λ§λ λ°(prevent) μ¬μ©λ©λλ€.
loginForm.addEventListener("submit", onLoginSubmit);
function onLoginSubmit(event){/* μν°λ λ²νΌμ λλ₯Ό λ λ°μ */
event.preventDefault();//eventμ κΈ°λ³Έ νλμΈ μλ‘κ³ μΉ¨μ λ°©μ§ν¨
}
setInterval()μ λ°λ³΅μ μΈ μμ
μ μννκΈ° μν΄ μ¬μ©λλ νμ΄λ¨Έ ν¨μμ
λλ€!
setInterval(λ°λ³΅ν ν¨μ, μ€ν κ°κ²©(ms), ν¨μμΈμ1, ν¨μμΈμ2, ...);
π£ μ½λλ₯Ό μ€ννλ©΄ μ§μ ν κ°κ²©μ΄ μ§λ ν ν¨μλ₯Ό μ²μ μ€ννλ―λ‘, μ€ν μ§ν ν λ² μν λ ν λ°λ³΅ μνλκΈΈ λ°λλ€λ©΄ setInterval μ¬μ© μ μ ν¨μ νΈμΆμ ν λ² ν΄μ€μΌν©λλ€!
function sayHello() {
console.log("Hello, world!");
}
sayHello(); //μ€νμ§ν λ°λ‘ ν λ² μ€ν
// 1μ΄λ§λ€ sayHello ν¨μλ₯Ό μ€ν
let intervalId = setInterval(sayHello, 1000);
// 5μ΄ νμ intervalμ μ€μ§
setTimeout(function() {
clearInterval(intervalId); // intervalμ μ€μ§
}, 5000);
μ‘΄μ¬νλ©΄ μ κ±°νκ³ , μ‘΄μ¬νμ§ μμΌλ©΄ μΆκ°νλ λμμ ν κΈμ΄λΌκ³ ν©λλ€!
ifλ¬Έμ μ¬μ©νμ¬ μ§μ ν΄μΌνλ λμμ κ°λ¨νκ² ν μ μμ΅λλ€!
element.classList.toggle("className");
/* ifλ¬ΈμΌλ‘ ꡬννκΈ° */ if (h1.classList.contains(clickedClass)) { /* class listκ° clicked classλ₯Ό ν¬ν¨νλκ°? */ h1.classList.remove(clickedClass); } else { h1.classList.add(clickedClass); //νΉμ classλ§ μ‘°μνκΈ° } /* toggleλ‘ κ΅¬ννκΈ° (class listλ‘ κ΅¬νν μ½λμ μλ²½ν κ°μ) */ h1.classList.toggle("clicked");
padStart()λ λ¬Έμμ΄μ νΉμ κΈΈμ΄λ‘ μ±μ°λ ν¨μμ
λλ€.
μ£Όμ΄μ§ κΈΈμ΄λ³΄λ€ λ¬Έμμ΄μ κΈΈμ΄κ° μ§§μ κ²½μ° μ§μ λ λ¬Έμμ΄μ μμ λΆλΆμ μΆκ°ν©λλ€!
λ¬Έμμ΄.padStart(λ¬Έμμ΄ κΈΈμ΄, [λΉ λΆλΆ μ±μΈ λ¬Έμμ΄])
let str = "123";
console.log(str.padStart(5, "0")); // "00123"
console.log(str.padStart(7, "abc")); // "abcb123"
console.log(str.padStart(2)); // "123" (μΆλ ₯ν λ¬Έμμ΄μ΄ μ§μ ν λ¬Έμμ΄ κΈΈμ΄λ³΄λ€ κΈΈκΈ° λλ¬Έμ, μΆλ ₯νκ³ μ νλ λ¬Έμμ΄μ κ·Έλλ‘ μΆλ ₯ν¨)
- "7".padStart(20,"012345");
7μ΄ μ리ν λ§μ§λ§ ν μ리λ₯Ό μ μΈν 19μ리λ₯Ό ν¨μμ μΈμλ‘ μ§μ ν "012345"κ° μ°μλλλ‘ μ±μλλ€.
- "7".padStart(2, "012");
7μ΄ μ리ν λ§μ§λ§ ν μ리λ₯Ό μ μΈν 1μ리λ₯Ό ν¨μμ μΈμλ‘ μ§μ ν "012"κ° μ°μλλλ‘ μ±μλλ€. ν μλ¦¬λ§ μ¬μ κ° μμΌλ―λ‘ "012"μ€ 0μ΄ λ¨μ 1μΉΈμ μ리νμμ νμΈν μ μμ΅λλ€.
- "789".padStart(2, "0");
μΆλ ₯ν λ¬Έμμ΄μ΄ μ΄λ―Έ μ§μ ν λ¬Έμμ΄ κΈΈμ΄λ³΄λ€ κΈΈκΈ° λλ¬Έμ, μΆλ ₯νκ³ μ νλ λ¬Έμμ΄μ κ·Έλλ‘ μΆλ ₯ν©λλ€!