HTML
, CSS
the-quick-brown-fox
HTML
, CSS
JS
theQuickBrownFox
TheQuickBrownFox
Javascript
는 화면을 제어할 수는 있지만 모두 데이터로 동작하는 것이므로 '데이터를 기준으로 사고'해야 한다.
String
Number
Boolean
true
, false
두 가지 값밖에 없는 논리 데이터이다.Undefined
Null
Object
{ }
Array
[ ]
var
, let
, const
var
는 권장사항이 아니므로 let
과 const
를 사용해서 선언하는 것을 추천한다.let
vs const
let
: 값의 재할당 ⭕const
: 값의 재할당 ❌const
를 사용하고 값을 재할당해야 하는 경우가 발생하면 let
으로 고쳐서 사용하기!this
: this
가 소속되어 있는 객체 데이터를 의미한다.if
, else
div
, span
, input
) / Application Programming Interfacejs
로 html
을 제어할 때 사용되는 명령들'로 이해하면 된다.addEventListener
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<script defer src="./main.js"></script>
</head>
<body>
<div class="box">Box!!</div>
</body>
</html>
let boxEl = document.querySelector('.box');
console.log(boxEl)
boxEl.addEventListener('click', function () {
console.log('click!');
});
👉 실행 결과
querySelector
html
코드는 위(addEventListener
)에서 사용했던 코드와 동일하다.
let boxEl = document.querySelector('.box');
console.log(boxEl)
boxEl.addEventListener('click', function () {
console.log('click!'); // 1
boxEl.classList.add('active'); // 2
console.log( // 3
boxEl.classList.contains('active')
);
boxEl.classList.remove('active'); // 4
console.log( // 5
boxEl.classList.contains('active')
);
// 1. box를 클릭하면 'click!!'을 출력
// 2. box에 'active'라는 클래스를 생성
// 3. active 클래스가 있는지 없는지 콘솔로 확인
// 4. box 부분의 active 클래스를 제거
// 5. active 클래스가 있는지 없는지 콘솔로 확인
});
👉 실행 결과
querySelectorAll
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<script defer src="./main.js"></script>
</head>
<body>
<div class="box">1</div>
<div class="box">2<div>
<div class="box">3<div>
<div class="box">4</div>
</body>
</html>
let boxEls = document.querySelectorAll('.box');
boxEls.forEach(function (boxEl, index) {
// 보간법을 사용하려면 백틱(`)을 사용해야 한다!!
boxEl.classList.add(`order-${index + 1}`);
console.log(index, boxEl);
});
👉 실행 결과
textContent
html
코드는 위(querySelectorAll
)에서 사용했던 코드와 동일하다.
const boxEl = document.querySelector('.box');
// 제일 먼저 찾아진 요소 하나만 반환한다.
// 결과: 콘솔창에 문자 '1' 출력
console.log(boxEl.textContent);
// 첫 번째 box의 내용을 'Hello!!'로 변경한다.
boxEl.textContent = 'Hello!!'
console.log(boxEl.textContent);
👉 실행 결과