<script src="app.js"> </script>
console.log(1121221);
const a = 5;
const myName = "nico";
let myName = "nico";
myName = "nicolas";
let a;
const b = null;
const nonsense = [1, 2, "hello", false, null,undefined];
nonsense.push(7)
(7은 item)-> property를 가진 데이터를 저장하도록 해준다.
const player = {
name: "nico",
points: 10,
fat: true,
};
player.name
이런 방식으로 출력 가능player.fat = false
이런 식으로 수정 가능Player.lastName = “potato”
삽입도 가능const player = {
name: "nico",
sayHello: function (otherPersonsName) {
console.log("Hello!" + otherPersonsName);
},
};
player.sayHello("lynn");
결과 : Hello! Lynn
const age = prompt("How old are you?");
console.log(age);
-> String을 int로 형 변환
- ==는 Equal Operator이고, ===는 Strict Equal Operator
- ==는 값만 같으면 true, ===는 값과 값의 종류(Data Type)가 모두 같으면 true이다.
var a = 1;
var b = "1";
console.log(a == b); // true
console.log(a === b); // false
console.log(null == undefined); // true
console.log(null === undefined); // false
출처
https://steemit.com/kr-dev/@cheonmr/js-operator (JS Operator)
JavaScript는 HTML에 연결되어있다
- HTML에서 여러 정보를 가져올 수 있으며,JavaScript 코드에서 그 항목들을 볼 수 있다.
- JavaScript로 HTML을 변경하는 작업도 가능하다.(일시적, 저장하면 다시 원래대로)
document
는 우리가 JS에서 HTML에 접근할 수 있는 방법! document.title="name";
<!--html-->
<h1 class="hello" id="title" > Grab me!</h1>
// javascript
const title = document.getElementById("title");
console.dir(title);
title.innerText = "Got you!";
console.log(title.id); // title
console.log(title.className); // hello
console.log
와 달리 console.dir
은 element를 더 자세하게 보여줌 (element를 object로 표시)title.innerText = "Got you!"
를 통해 Grab me!가 Got you!로 바뀜getElementByClassName, getElementByTagName
등등 있음<!--html-->
<div class="hello">
<h1> Grab me!</h1>
</div>
<div class="hello">
<h1> Grab me!2</h1>
</div>
// javascript
const title = document.querySelector(".hello h1");
console.log(title); // <h1> Grab me! </h1>
const title = document.querySelector("div.hello:first-child h1");
function handleTitleClick() {
console.log("title was clicked!!");
title.style.color = "blue";
}
title.addEventListener("click", handleTitleClick); // title을 클릭하는걸 javascript가 listen
addEventListener
의 두 번째 argument인 function에는 ()를 붙이지 않는다. -> javascript가 이벤트가 발생했을 때 실행해주는거니까title.onclick = handleTitleClick;
cf) 이벤트 요소
console.dir을 활용하여 element를 출력한다
property이름 앞에 on이 붙어있다면 그게 eventlistener이다.
"on[eventname]"
스타일에 적합한 테마는 CSS, 애니메이션에 적합한 테마는 JS
function handleTitleClick() {
const clickedClass = "clicked";
if (h1.classList.contains(clickedClass)) {
h1.classList.remove(clickedClass);
} else {
h1.classList.add(clickedClass);
}
}
위 방식을 toggle function을 활용하여 더 간략하게 쓸 수 있음
toggle function : classList에 className이 존재하는지 확인을 하고 존재하면 className을 제거하고 존재하지 않는다면 className을 추가한다.
function handleTitleClick() {
h1.classList.toggle("clicked");
}
toggle을 사용함으로써 변수 선언을 안 해도 되는 것을 알 수 있다.