위 포스트는 HTML, CSS를 이어서 작성하는 것이다.

2022.02.12 - [WEB/HTML,CSS] - DAY 14 : 미디어 쿼리

 

DAY 14 : 미디어 쿼리

- 미디어 쿼리 (Media Query) 반응형 개발 : 접속하고 있는 기기들 마다 다르게 반응하여 표현되도록 개발하는 것을 의미한다. 웹 페이지에 접속하고 있는 기기마다 원하는 형태로 스타일을 조정할

biblia00.tistory.com


- 자바 스크립트 (Java Script)

웹의 동작을 구현하기 위한 언어이다.

웹 브라우저에 자바 스크립트 인터프리터가 내장되어있다.

객체 기반의 스크립트 언어이다.

 

 

 

- 자바 스크립트의 특징 

자바 스크립트는 동적이며, 타입을 명시할 필요가 없는 인터프리터 언어이다.

객체 지향형 프로그래밍과 함수형 프로그래밍을 모두 표현할 수 있다.

HTML의 내용, 속성, 스타일 등을 변경할 수 있다.

 

 

 

- 자바 스크립트의 선언

[ 과거 ]

<script language = "javascript">
	// 자바 스크립트 문법으로 해석
</script>

 

[ 현재 ]

<script>
	// 자바 스크립트 문법으로 해석
</script>

// 외부 자바스크립트
<script src ="경로/파일명.js"> </script>

 

 

 

- 자바 스크립트의 출력

document.write() <body>에 출력
window.alert()  대화상자로 출력
HTML DOM 요소를 이용한 innerHTML 프로퍼티 <body>에 출력
console.log() console에 출력

 

 

 

- 주의 사항

;(세미콜론)을 생략가능하다.

스크립트의 태그 위치는 어디든 상관없으나 가급적이면 body밑에 적는 것이 좋다.

대소문자를 구분한다.

 

 

 


자바스크립트의 출력 사용해보기!

 

1. document.write

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>1_write</title>
</head>
<body>
	<h1> document.write() </h1>
	<script>
		document.write("document.write()를 이용한 출력<br>Hello Javascript!")
	
	</script>
</body>
</html>

위 코드의 결과

노란색은 HTML에서 <h1> 태그로 입력한 부분이며, 아래의 빨간색으로 표시한 부분은 자바스크립트의 코드이다.

따라서 document.write을 사용하면 HTML 바디에서 출력되는 것을 확인할 수 있다.

 

 


 

2. alert

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>2_alert</title>
</head>
<body>	
	<h1>alert을 이용한 출력</h1>
</body>
	<script>
    	alert("확인을 눌러주세요~");
	</script>
</html>

위 코드의 결과1
위 코드의 결과2

결과처럼 실행을 하면 대화 상자 창이 먼저 뜨고 그 이후 HTML 바디에 쓴 결과가 나오는 것을 확인할 수 있다.

 

 


 

3. innerHTML

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>3_innerHTML</title>
</head>
<body>
	<h1>innerHTML</h1>
	<p id = "text">재미있는 Javascript 수업~</p>
	
</body>
<script>
	let pTag = document.getElementById("text");
	pTag.innerHTML = "<button>아주</button> " +pTag.innerHTML;
</script>
</html>

위 코드의 결과

<p> 태그에 text라는 id로 찾아서 innerHTML을 사용하였다. 그리고 "아주"는 스크립트에서 추가적으로 넣어서 출력한 것이다.

 

 


 

4. console 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>4_console</title>
</head>
<body>
	<h1>console.log</h1>
</body>
<script>
	console.log("Hello Javascript!")
</script>
</html>

위 코드의 결과

왼쪽은 HTML 바디에 작성한 것이고, 오른쪽은 스크립트로 console.log로 작성한 것이다. console.log는 F12키로 눌러서 개발자 도구에 콘솔에서 출력되는 것을 확인할 수 있다.

 


 

- 변수의 선언

var 변수명 = 값

// 선언 방법
var  num 
num = 10

data = 10
var data

let 변수명 = 값
const 변수명 = 값

 

 

- 자료형 (타입)

숫자 (Number) 정수와 실수를 구분하지 않는다.
문자열 (String) 큰 따옴표랑 작은 따옴표의 차이가 없다.
객체 (Object) 여러 변수 혹은 메소드를 선언한 집합의 주소를 가지는 타입이다.
필드 접근시 .(마침표)를 선언한다.
불린 (Boolean) true / false
undefined 타입이 정해지지 않은 것을 의미하는 값이다.
null 주소값이 정해지지 않은 것을 의미하는 값이다. (null로 변수를 초기화한 경우)

 

 


변수 타입별로 사용해보기!

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>5_type</title>
</head>
<body>
	
</body>
<script>
	let num1 = 10;
	let num2 = 11.11;
	let num3;
	
	let str1 = "'문자열'";
	let str2 = '"문자열"';
	// ~키에 있는 따옴표 : `
	let str3 = `문자열
	입니다`;
	
	console.log(num1);
	console.log(num2);
	console.log(num3);
	console.log(str1);
	console.log(str2);
	console.log(str3);

</script>
</html>

위 코드의 결과

 

자바 스크립트는 자바의 문자열과는 달리 " ' ` 모두 사용할 수 있다.

num3 같은 경우는 선언만 하고 값을 대입해 주지 않았기 때문에 undefined가 뜨는 것이다.

 

 


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>6_type2</title>
</head>
<body>
	
</body>
<script>
	let b1 = 10>3;
	let b2 = "hello" == "hello";
	let b3 = "10" == 10;
	
	console.log(b1);
	console.log(b2);
	console.log(`b1 : ${b1}`);
	console.log("b2 : "+b2);
	console.log("b3 : "+b3);
	
	let mycar = {brand : "Ferrari", color : "RED"};
	console.log("내 차 브랜드 : " +mycar.brand);
	console.log("내 차 색깔 : " +mycar.color);
	
	let o1 = null;
	let o2 = {};
	
	console.log(o1);
	console.log(o2);
	
	
</script>
</html>

 

위 코드의 결과

 


 

- 형 변환

자바 스크립트의 변수는 타입이 정해져 있지 않으며, 같은 변수에 다른 타입의 값을 다시 대입할 수 있다.

(typeof 값) ---> 뒤에 오는 값의 타입

 

 

- 자동 형 변환

다른 타입의 값이 오면, 자동으로 타입을 변환하여 사용한다.

(자바 스크립트는 자동형 변환을 많이 사용한다.)

 

 

- 강제 형변환

자동으로 타입 변화를 지원하지만 명시적으로 변환할 필요가 있을 때 사용한다.

		Number(값)
		String(값)
		Object(값)
		Boolean(값)
		parseInt(값)	문자열 정수로
		parseFloat(값)	문자열 실수로

 


- let과 const

var는 같은 이름의 변수를 선언할 수 있다. 

var는 지역변수와 전역 변수의 구별이 되지 않는다.

이러한 암묵적인 오류 허용이 싫다면 <script> 바로 아래에 'use strict'를 작성하면 엄격 모드로 코딩을 할 수 있다.

 

 

- 스코프 (scope)

변수에 접근할 수 있는 범위, 변수의 생명주기, 변수의 유효 범위를 의미한다.

변수의 유효 범위는  { } 안이다.

 

 

- 호이스팅 (hosting)

변수(var)나 함수 선언이 어디에 있든 상관없이 다른 코드보다 가장 먼저 실행되는 특징을 말한다.

 

var num = 10

 

선언 단계  :  공간을 확보한다.

초기화 단계 : undefined을 넣는다.

할당 단계 : 10이 대입된다.

 

 

- let과 const의 특징

let은 재할당이 가능하고, const는 재할당이 불가능하다.

 

 

 

 

 

 

'WEB > Javascript' 카테고리의 다른 글

DAY 20 : jQuery  (0) 2022.07.20
DAY 19 : form 태그 접근, 객체, DOM  (0) 2022.07.13
DAY 18 : 객체, 상속  (0) 2022.05.03
DAY 17 : 함수  (0) 2022.03.16
DAY 16 : 연산자, 대화상자, 배열 , ...  (0) 2022.03.03
복사했습니다!