자바스크립트는 객체 기반의 스크립트 언어이다.
HTML로는 웹의 내용을 작성하고, CSS로는 웹을 디자인하며, 자바스크립트로는 웹의 동작을 구현할 수 있다.
웹 요소를 가져와서 필요에 따라 스타일을 변경하거나 움직이게 할 수 있음.- 웹 사이트
UI 부분에 많이 활용- 예 ) 마우스 포인터를 올렸을 때 펼쳐지는 메뉴 → 한 화면에서 탭을 눌러 내용만 바뀌도록 하는 콘텐츠
- 웹을 중심으로 하는 서비스가 늘어나면서 브라우저에서 처리해야 할 일이 늘어남!
➡ 라이브러리와 프레임워크가 계속 등장
최근의 웹 사이트는 사용자와 실시간으로 정보를 주고 받으며 애플리케이션처럼 동작- 예 :
- 온라인 지도의 길 찾기 서비스,
- 데이터 시각화 서비스,
- 공개된 API를 활용한 다양한 서비스
node.js
- FE 개발에 사용하던 JavaScript를 BE 개발에서 사용할 수 있게 만든 프레임워크
<script> 태그와 </script> 태그 사이에 자바스크립트 소스 작성</body> 태그 앞에 작성...
<title>글자색 바꾸기</title>
<style>
body { text-align:center; }
h1 { color:blue; }
</style>
</head>
<body>
<h1 id="heading">자바스크립트</h1>
<p id="text">위 텍스트를 클릭해 보세요</p>
<!-- 내부 스크립트 코드 작성하기 -->
<script>
let heading = document.getElementById("heading");
heading.onclick = function () {
heading.style.color = "red";
};
</script>
<!-- 스크립트는 head 안에.. body 안에 둘 다도 가능하고, 어디에든 무제한으로 위치함. -->
<!-- id를 통해서 접근할거다. , 뒤에 ;(세미콜론) 붙이도록 하자..java는 -->
</body>
</html>

<script src=”외부 스크립트 파일 경로”></script><!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>글자색 바꾸기</title>
<style>
body { text-align:center; }
h1 { color:blue; }
</style>
</head>
<body>
<h1 id="heading">자바스크립트</h1>
<p id="text">위 텍스트를 클릭해 보세요</p>
<!-- 외부 스크립트 코드 작성하기 -->
<script src="js/change-color.js"></script>
</body>
</html>


<script> 태그를 만나면 자바스크립트 해석기에게 스크립트 소스 넘김. 자바스크립트 해석기에서 <script>와 </script> 사이의 소스를 분석하고 해석.식 (expression)
값을 만들어 낼 수 있다면 모두 식이 될 수 있음.문 (statement)
문의 끝에는 세미콜론(;)을 붙여서 구분하는게 좋다알림 창 출력
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>alert문</title>
</head>
<body>
<!-- 알림 창 만들기 -->
<!-- 확인 창만 뜸 -->
<script>
alert("안녕하세요?")
</script>
</body>
</html>

확인,취소 창 출력
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>confirm</title>
</head>
<body>
<!-- 확인 창 만들기 -->
<!-- 확인 / 취소 창 두 개가 뜸. -->
<script>
let reply = confirm("정말 삭제하시겠습니까?");
// 확인 누르면 True, 취소는 False 반환
if(reply==true)
alert("확인");
else(reply=false)
alert("취소");
</script>
</body>
</html>

프롬프트 창에서 입력받기
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>prompt</title>
</head>
<body>
<!-- 기본값이 있는 프롬프트 창 만들기 -->
<script>
// 두 개의 파라미터를 받도록 정의되어있음
let name = prompt("이름을 입력하세요!!","ex)홍길동");
alert(name);
</script>
</body>
</html>

document.write( )
<script>
document.write("<h1>어서오세요</h1>");
</script><!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>document.write</title>
</head>
<body>
<!-- document.write() 문으로 내용 표시하기 -->
<script>
document.write("<h1>어서오세요</h1>");
document.write("<h2>자동차 가게입니다.</h2>")
document.write("<ul><li>현대</li><li>기아</li></ul>")
</script>
</body>
</html>

console.log( )
<body>
<h1>어서오세요</h1>
<!-- 콘솔 창에 내용 표시하기 -->
<script>
let name = prompt("이름을 입력하세요.");
console.log(name + "님, 환영합니다.");
</script>
</body><!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Welcome</title>
</head>
<body>
<h1>어서오세요</h1>
<!-- 콘솔 창에 내용 표시하기 -->
<script>
let name = prompt("이름을 입력하세요.");
console.log(name + "님, 환영합니다."); // 화면에서 오른쪽 마우스 -> 검사 -> console 들어가면 잇음.
// 브라우저 상에는 영향 x , 문제가 없는지 확인해보고싶다면 console.log
</script>
</body>
</html>

코딩 규칙을 ‘스타일 가이드’, ‘코딩 컨벤션’, ‘코딩 스타일’, ‘표준 스타일’ 등으로 부름❓ 코딩 규칙이 왜 필요할까
- 자바스크립트는 다른 프로그래밍 언어에 비해 데이터 유형이 유연해서 오류 발생이 잦음.
- 오픈 소스에 기여하거나
누군가와 공유할 소스라면 더욱 깔끔한 소스가 중요.팀 프로젝트를 진행한다면통일된 코딩 규칙이 필요.- 코딩 규칙에 따라 작성된 웹 사이트는
유지 보수도 수월하고 그만큼 비용도 줄어듬.
자바스크립트 스타일 가이드
- 구글 자바스크립트 스타일 가이드 참고
- 에어비앤비 자바스크립트 스타일 가이드 참고
- 회사 프로젝트의 경우엔, 팀 내에서 상의해서 결정
코드를 보기 좋게 들여쓴다!
세미콜론으로 문장을 구분한다!!
세미콜론을 붙일 것을 권장함공백을 넣어 읽기 쉽게 작성한다.
let num = 2;
let sum = num + 10;
let today = new Date(); // 현재 날짜 가져오기
/* 현재 시각과
오늘 날짜 가져오기
*/
let display = now.toLocaleTimeString();
let today = now.toLocaleDateString();
document.write("현재 시각은 " + display);
document.write("오늘 날짜는 " + today);
첫 글자는 반드시 영문자나 언더스코어(_), 달러 기호($)로 시작해야 함.두 단어 이상이 하나의 식별자를 만들 때 단어 사이에 공백을 둘 수 없음.예약어는 식별자로 사용할 수 없음!num1 // 영문자로 시작하는 식별자
_doSomething // 언더스코어(_)로 시작하는 식별자
checkTime() // 두 단어로 만든 식별자