본문 바로가기
dev/JavaScript

Javascript 란?

by masankong 2023. 2. 8.

html로 골격을 잡으면 css는 잡혀진 골격을 예쁘게 꾸며주는 역할을합니다. 이 둘까지는  이미지처럼 보여주기 역할을 한다면 javascript는 웹페이지의 동작을 책임져요!

 

javascript는 지금까지 많은 업데이트를 해왔는데 업데이트를 했다고 해서 그 전버전이 삭제되거나 새로운 버전이 나온다고 해도 기능들을 막 추가할 수는 없습니다.

 

이유는 왜그럴까요?

이미 그 전버전으로 배포된 웹사이트들이 많기때문에 전 버전을 삭제해버리면 많은 오류를 낼 수 있기 때문이에요 그래서 javascript에는 처음 설계자가 실수한 오류조차도 javascript에  아직 그대로 남아있습니다.

 

자바스크립트의 버전

  • ES1 (초판, 1997)
  • ES2 (1998)
  • ES3 (1999)
  • ES5 (2009, 엄격모드, 배열메서드 (map, filter,forEach 등), JSON 등)
  • ES6 (2015, ECMAScript 2015, const, let, promise, Arrow function, class 등의 문법들이 대거 추가)
  • ES7 (2016, ECMAScript 2016, 이하생략)

자바스크립트삽입 위치

<head>,<body>의 문서 처음,중간, 끝 그러나 보통 <body>의 맨 끝에 넣는것이 관례적이다 (절대적인건 아님)

이유는 아래 예시 코드를 보며 얘기해 보자면 document가 완성되지 않은 상태에서 'one'이라는 id를 선택하려 했기 때문에 해당 스크립트가 적용되지 않는다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="utf-8">
    <title>Document</title>
     <script>
    	document.getElementById('one').innerHTML = 'hi'
    </script>
</head>
<body>
    <h1 onclick="alert('경고!')">hellow world</h1>
    <p id="one">hello</p>
    <!-- document에서 'hello' 가 'hi' 로 바뀌어야 하지만 바뀌지 않음 -->
</body>
</html>

*script의 위치는 프로젝트에 따라 <head>에 넣거나 <body>의 중간 아님 시작에 넣기도 한다. 

 

내부 스크립트와 외부 스크립트

script 는 css 와 마찬가지로 내부스크립트와 외부스크립트(링크)로 나눠서 넣을수 있다. 단, 추후에 유지보수를 할 경우를생각해서 css와 script는 html과 분리해주는 것이 좋다.

<!-- 외부 스크립트 연결 -->
<script src="../js/test.js"></scropt>

<!-- 내부 스크립트 -->
<script>
	console.log('hellow')
</script>

 

Javascript 출력 방법

  • 문서 내에 요소를 선택하여 출력하는 방법 (innerHTML, innerText 등)
<h1 id="one"> Hellow world </h1>
<script>
	document.getElementById('one').innerHTML = 'hi world'
</script>

<!-- doucument 에서 'hellow world' 가 'hi world' 로 변경됨 -->
  • 문서 내에 직접 출력하는 방법
document.write('js hello!')
<!-- document 에 'js helloo!' 가 나옴 -->

 

코드구조

  • 한문장(statement)을 완성하고 싶을땐 ;(세미클론) 또는 다음 줄에 문장을 쓰면되지만 일반적으로 세미클론을 붙이는편
  • 문장은 값, 연산자, 키워드 , 명령어, 표현식 (값으로 평가, 함수나 key, index를 통한 값으 호출도 표현식) 등으로 구성
  • 공백음 병합할 수 있음
let a = 10,
	b = 20
    
let a = 10, b = 20
let a=10,b=20

<!-- 띄어쓰기 방식은 모두 달라도 공뱅이 병합되기 때문에 모두 같음 -->

let a = 1 0
<!-- 그러나 위 방식처럼 10인지 1과 0인지 일반적이지 않는 공백은 병합하지 않음 -->
  • 주석은 코류를 보류하거나 코드에 대한 설명을 적을떄 사용
//  <!-- 한 줄 주석 -->
/* */ <!-- 여러 문장 주석 -->
  • 엄격모드
    - ES5에서 최신의 문법들이 많이 추가가 되었는데 기존에 문법을 변경하는 문법도 나옴
    - 이러한 문법들은 기존 코드의 문제를 불러일으킬 수 있기 때문에 use strit 라는 지시자를 통해 엄격 모드를 활성화 했을때에만 반영
    - class 문법의 경우 엄격 모드가 기본 ("use strict"를 쓰지 않더라도 자동으로 엄격모드로 작동)
    - 보통 코드의 최상단에 적용
    - 함수별로 엄격보드를 다르게 적용할 수 있으나 혼란을 야기할 수 있음
"use strict"
<!-- 엄격모드 활성화 -->

'dev > JavaScript' 카테고리의 다른 글

조건문 if,else, else if, switch  (0) 2023.02.09
연산자  (0) 2023.02.09
대화상자  (0) 2023.02.08
자료형 과 형변환  (0) 2023.02.08
javascript 변수  (0) 2023.02.07

댓글