javascript 기본 문법
주석
문자
변수
- 모든 intruction은 다른 줄에 선언되어야 한다
- 변수 생성, 초기화, 사용 단계로 사용하자
1 2 3
| let a = 221; let b = a - 5; console.log(b);
|
- const : 상수
- let : 바뀌어도 되는 변수
- variable : 변수
- 첫 사용은 const, 필요할 때만 let!
연산자
- = : 대입 연산자
- == : 동등 연산자
- === : 일치 연산자
- != : 같지 않다
- && : AND 연산자
- || : OR 연산자
- ! : 값을 역전시킴, 부정하는 것이지
조건문
1 2 3 4 5
| if (id == "beomsu") { alert("아이디가 일치하는군"); } else { alert("아이디가 일치하지 않습니다"); }
|
반복문
1 2 3
| while (true) { document.write("안녕?"); }
|
- document는 javascript를 이용해 웹페이지 문자를 적는데 콘솔에서 하면 안보인다
함수
기본 형식은 역시나 비슷하다
1 2 3 4
| function 함수명(인자1,인자2... 마지막 인자){ 코드 return 반환값 }
|
배열
1 2 3
| const somthing = "something";
const daysOfWeek = ["mon", "true", "sun", true, something];
|
배열 가지고 놀아보기
- .push()
- .shift()
- .pop()
- .sort()
- .reveser()
객체
여기부터 좀 재밌다
- 처음에 봤을 땐 딕셔너리 같다 생각했는데 이 형식으로 객체를 저장하고 있다. 웃기네
- 와 소름;; json이 javascript Object Notion이란 뜻인데 어쩐지 json이랑 똑같네 아주 그냥 표현하는게 신기하다
1 2 3 4 5 6 7
| var beomsu = { name: "beomsu", show: function () { alert(this.name); }, }; beomsu.show();
|
위의 코드를 실행시키면 아래와 같은 화면을 확인할 수 있다.
- 코드 리뷰
- name에 beomsu 저장
- show라는 function 선언
- show 함수는 이 클래스의 name에 접근해 이름을 출력한다

모듈
- 자주 사용되는 코드를 별도의 파일로 만들어 필요할 때 가져다가 쓰는거지
- 이에 따라서 유지보수 및 메모리 낭비 거기에 웹브라우저에서 사용한다면 속도가 까지 빨라지는 거지
- 아래 js와 html 파일은 같은 디렉터리에 있어용
1 2 3 4 5 6
| var beomsu = { name: "beomsu", show: function () { alert(this.name); }, };
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <script src="test.js"></script> <title>Document</title> </head> <body> <script> alert(beomsu.show()); </script> </body> </html>
|
- html 코드를 보면 head에서 script source를 받아 오는 걸 볼 수 있다. 저런 느낌으로 자주 사용하는 모듈을 받아오면 된다. 뭐 jquery이런 것들 말이다
- 대신 환경마다 소스를 받아오는 방법이 다르다
DOM(Document Object Module)
- document로 javascript에서 css에 접근 할 수 있다.
- JS에서 내 HTML의 모든 것들은 객체로 바꿔 버려 접근 가능하게 하는 것이지
1 2 3 4 5 6 7 8 9 10 11 12
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="stylesheet" href="CSS.css" /> </head> <body> <h1 id="title" class="btn">Hi this is my first test</h1> </body> <script type="text/javascript" src="test.js"></script> </html>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| const title = document.querySelector("#title");
const CLICKED_CLASS = "clicked";
function handleClick() { const hasClass = title.classList.contains(CLICKED_CLASS); if (!hasClass) { title.classList.add(CLICKED_CLASS); } else { title.classList.remove(CLICKED_CLASS); } }
function init() { title.addEventListener("click", handleClick); }
init();
|
1 2 3 4 5 6 7 8 9 10 11 12 13
| body { background-color: palegoldenrod; }
.color { color: tomato; } .clicked { color: teal; } .btn { cursor: pointer; }
|