이제부터는 헷갈리고 모르는 것만 작성합니다...
/ == 나눈 값 전체
% == 나눈 값의 나머지
== -> 값이 같으면 true
=== -> 값과 데이터 유형이 모두 같으면 true
!= -> 값이 같지 않으면 true
!== -> 값과 데이터 유형이 모두 같지 않으면 true
문자열끼리 비교하기
"A" < "B" //true
"A" > "B" //false
-> 아스키 값으로 치환 후 비교
조건 연산자
(조건) ? true일 때 실행할 명령 : false일 때 실행할 명령
array_name.forEach(callback func){...}
-> 배열의 길이가 바뀌거나 정확하게 배열의 길이를 알 수 없을 때, 또는 배열의 요소를 가져와 함수를 실행해야 할 때 forEach문을 사용하면 편리하다.

const gitBook = {
title : "653o",
pubDate : "2025-09-08",
pages : 272,
finished : true
}
for(key in gitBook) {
document.write(`${key} : ${gitBook[key]}<br>`);
}

const students = ["Park", "Kim", "Lee", "Kang"];
// students에 있는 student가 있는 동안 계속 반복
for (let student of students) {
document.write(`${student}. `);
}

프로그램 중 배열의 길이가 바뀌어 정확한 배열의 크기를 알 수 없을 때, 또는 배열의 요소 배열의 요소를 가져와서 함수를 실행해야 할 때 forEach를 사용하면 for문의 단점을 보완해서 사용이 가능하다.
function <func_name>(argv...argc...) {
<command(s)>()
}
함수는 javascript에서는 예약어 function으로 선언을 하는데 C나 C++과 같이 함수가 먼저 선언이 되어야 그 이후에 함수를 사용할 수 있다.
function multiple (a,b,c) {
return a*b-c;
}
// multiple(a,b,c) 3개의 인자 입력 가능
multiple(1,2,3) // -1
multiple(4,5) // 4*5-undefined => NaN
let sum = function(a,b) {
return a+b;
}
console.log(`sum is ${sum}`);
이런 변수에 저장된 함수는 함수이름 대신에 변수이름을 이용해서 함수를 실행 할 수 있다.
(function(a,b) {
let sum = a + b;
console.log(`sum is ${sum}`)
} (100,200));
함수를 정의 하면서 동시에 실행을 하기에 함수를 한 번만 사용한다면 이렇게 작성을 하는 것이 좋을 수 있다. 이런 형식을 즉시 실행함수 라고 부른다. 여러번 실행을 해야한다면 스코프 내에 예약어로 함수 선언을 하도록 하자.
//(매개 변수) => {함수 내용}
let sum = (a, b) => {
let result = a + b;
return result;
};
// =========ex(no arg)========= //
let hi = function() {
return 'HELLO';
}
hi();
// ==>
let hi = () => {return 'HELLO'};
hi();
//==>
let hi = () => 'HELLO';
hi();
만약 인자가 있다면 이렇게 사용할 수 있다.
// =========ex(with arg)========= //
let hi = function(user) {
console.log(`HELLO ${user}`);
}
hi("653o");
// ==>
let hi = user => console.log(`HELLO ${user}`);
hi("653o");
2개 이상의 인자가 있다면
let hi = (user,role) => console.log(`HELLO ${user}, your Role is ${role}`);
hi("653o","admin");
이런 형식이면 된다.
먼저 callback이 뭔지 이해를 해야한다.
callback은 "지금 당장 실행하지 말고, 특정 조건(예: 버튼 클릭)이 되면 그때 나를 불러줘"라는 뜻이다.
그냥 함수선언이다. 이름이 거창할 뿐,,,,
const bttn = document.querySelector("button"); // 버튼 요소 가져옴
function display() {
alert("클릭했습니다.");
}
bttn.addEventListener("click", display); // 버튼 클릭하면 display 함수 실행
bttn.addEventListener("click", display);에서
display 부분은 필요할 때마다 여러번 사용해서 실행하거나 콜백 함수로 사용할 수 있지만 딱 한 번만 사용을 한다면 따로 함수를 선언하지 않고 밑의 코드처럼 직접 콜백 함수를 작성 할 수 있다.
bttn.addEventListener("click", () => { // 버튼 클릭하면 alert 실행
alert("클릭했습니다.");
});
let timer = setInterval(<callback_func>,<time_SetIn_ms(milisecond)>);
// repeat at regular intervals
clearInterval(<timer_name_(ex. timer)>);
// Stop repeat execution
setTimeout(<callback_func>,<time_SetIn_ms(milisecond)>);
// Execute after a certain time
열정!열정!열정!