본문 바로가기

개발/JavaScript

[JavaScript] JavaScript (자바스크립트) 란 ?

JavaScript (자바스크립트) 란 ?



요새 AngularJs , NodeJs 등 공부를 하면서 JavaScript를 외면하였지만 결국은 자바스크립트를 기본부터 다시 봐야겠다는

생각이 들었다. 그래서 자바스크립트가 무엇인지에 대해 먼저 살펴보도록 하겠다.


JavaScript는 Netscape communication 의 이해 개발된 브라우저 전용 스크립트 언어이다.

현재에 이르기까지 JavaScript 는 초기부터 많은 발전이 되어왔는데

초기에는 지나친 스크립트 코드 남용으로 사람들 에게 안좋은 인식이 생겼으나

Ajax (Asynchronous JavaScript and XML가 생겨나고 국제적인 표준화 단체인 ECMA 에 의해 표준화 작업이 이루어짐에 따라

현재에 있어서는 웹개발자 라면 기본적으로 알아야하는 필수기술 이 되었다.


위의 JavaScript는 스크립트 언어라고 하였는데 

스크립트언어는 컴퓨터 프로그래밍 언어로 기존의 Java , C 와 같은 컴파일언어 가 아닌 인터프린터 언어이다.

인터프린터 언어는 소스코드 작성 및 수정 시 바로바로 컴퓨터가 해석해서 실행시킬수 있는 언어를 말하며

컴파일과 같은 별도의 절차없이도 바로바로 자신이 작성한 프로그램을 확인할 수 있다는 장점이 있다.


JavaScript  표기방법

JavaScript 는 표기방법은 선언문의 위치 또는 외부의 .js 파일을 불러서 사용할것인지 .html 파일 내부에 사용할것인지 에 따라 구분된다.


1) <Body> 태그 내의 임의의 장소

 > 스크립트 내용을 직접 문서에 출력 하기 위해 사용한다.

<body>

	Hello

	<script>document.write("world")</script> //현재위치에 문자열출력

	!!

</body> 

결과 : Hello world !!


2) </Body> 태그 직전

HTML 요소를  먼저 로드하고 스크립트를 수행하기 위해 사용한다.

<body>
	<script>
		var el = document.getElementById("head");
		alert(el.innerHTML) //null
	</script>
	
	<script>
		var el = document.getElementById("head");
		alert(el.innerHTML) //Hello
	</script>	
</body> 

결과:  위에 코드를 보면 id 가 head 인 요소 안의 내용을 출력하도록 되어있다.

        그런데 출력문에 2군데 있는데 하나밖에 출력되지 않는다.

        그 이유는 상단의 script는 HTML 요소가 로드 되기전 내용을 출력하려 하였기때문에 null 이며

        하단의 script 는 정상적으로 출력되기 때문이다. 


3) <head> 태그내부

 > 미리 함수를 지정하여 <Body> 태그 내부에서 호출하려면 <Body> 태그가 로드 되기전에 기술되어있어야 한다.

<!DOCTYPE HTML>

<html lang="ko-KR">

<head>

	<meta charset="UTF-8">

	<title></title>

	<script>

	function plus(num1,num2){

		alert(num1+num2);

	}

	</script>

</head>

<body>

    1+1 = ?

	</br>

	<button onclick="plus(1,1)">click</button> //자바스크립트 함수 호출



</body>

</html>

결과 : 2


4) 외부에서 js 파일 호출

 > 정보와 제어를 분리하여 사용할수있으며 다른 HTML 에서도 호출할 수 있기 때문에 재사용성이 증가한다. 

test.html

<!DOCTYPE HTML>

<html lang="ko-KR">

<head>

	<meta charset="UTF-8">

	<title></title>

	<script src="test.js"></script> //외부파일에있는 js 호출

</head>

<body>

	<button onclick="test('abc')">click</button>

</body>

</html> 

test.js

function test(str){

	alert(str);

} 

결과 : abc