πŸ’»/Javascript

(46) [JavaScript] 2일 JavaScript 기본 - 2

λ”°κΆˆ 2024. 4. 19. 11:45

 

 

μžλ£Œν˜• λ³€ν™˜ 

JavaScriptλŠ” 동적 ν˜• μ§€μ • μ–Έμ–΄λ‘œ λ³€μˆ˜λ₯Ό μ„ μ–Έν•  λ•Œ 데이터 ν˜•μ„ μ§€μ •ν•  ν•„μš”κ°€ μ—†λ‹€. λ°μ΄ν„°ν˜•μ΄ 슀크립트 μ‹€ν–‰ 도쀑 ν•„μš”μ— μ˜ν•΄ μžλ™μœΌλ‘œ λ³€ν™˜λœλ‹€. 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
</head>
<body>

	<h3>ν˜• λ³€ν™˜</h3>
	
	<script type="text/javascript">
	var a,b;
	
	a="123";
	console.log(typeof(a));
	
	b=a+10; // 문자+숫자 = > 문자+문자 => 문자
	console.log(b) //12310
	
	a=Number(a); // Number() ν•¨μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ λ¬Έμžμ—΄μ„ 숫자둜 λ³€ν™˜ 
	console.log(typeof(a));
	b=a+10;
	console.log(b);//123
	console.log(Number('1,234')); //NaN 
	console.log(parseInt('1,234')); // 1
	
	a=120;
	a=String(a); // String()ν•¨μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ 숫자λ₯Ό λ¬Έμžμ—΄λ‘œ λ³€ν™˜ 
	console.log(typeof(a)); //string 
	
	a="true";
	a=Boolean(a);
	console.log(typeof(a)); // boolean 
	
	</script>

</body>
</html>

 

 

μƒμˆ˜ 

μƒμˆ˜λŠ” μŠ€ν¬λ¦½νŠΈκ°€ μ‹€ν–‰ μ€‘μ—λŠ” λŒ€μž…μ„ 톡해 값을 λ°”κΎΈκ±°λ‚˜ 재 μ„ μ–Έλ μˆ˜μ—†μœΌλ©°, μ„ μ–Έμ‹œ κ°’μœΌλ‘œ μ΄ˆκΈ°ν™”ν•΄μ•Ό ν•œλ‹€. μƒμˆ˜μ— λŒ€ν•œ λ²”μœ„ κ·œμΉ™μ€ let 블둝 λ²”μœ„ λ³€μˆ˜μ™€ λ™μΌν•˜λ‹€. const ν‚€μ›Œλ“œκ°€ μƒλž΅λœ κ²½μš°μ—λŠ”, μ‹λ³„μžλŠ” λ³€μˆ˜λ₯Ό λ‚˜νƒ€λ‚΄λŠ” κ²ƒμœΌλ‘œ κ°„μ£Όν•œλ‹€. μƒμˆ˜λŠ” 같은 λ²”μœ„μ— μžˆλŠ” ν•¨μˆ˜λ‚˜ λ³€μˆ˜μ™€ λ™μΌν•œ μ΄λ¦„μœΌλ‘œ μ„ μ–Έν•  수 μ—†λ‹€. 

 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
</head>
<body>

	<h3>μƒμˆ˜ - const</h3>

	<script type="text/javascript">
		const PI = 3.141592; // μƒμˆ˜ 

		//const sub = 10; μ—λŸ¬ : const 이름과 ν•¨μˆ˜λͺ…은 같을 수 μ—†μŒ 

		function sub() {
			console.log(PI);
			// 	PI=3.14; // TypeError

			const x = 10;
			// var x = 20; μ—λŸ¬ : μƒμˆ˜λŠ” 같은 λ²”μœ„ μ•ˆμ—μ„œ 
			//λ³€μˆ˜λ‚˜ ν•¨μˆ˜μ™€ λ™μΌν•œ μ΄λ¦„μœΌλ‘œ μ„ μ–Έ λΆˆκ°€

			//const a; μ—λŸ¬. constλŠ” μ΄ˆκΈ°ν™” ν•„μš” 

			if (true) {
				const a = 10; // μ—λŸ¬ : constλŠ” let 블둝 λ²”μœ„μ™€ 동일
			}
			//console.log(a); μ—λŸ¬ 

			let a = 50;
			console.log(a);
			
			//const둜 μ„ μ–Έλœ λ°°μ—΄μ˜ λ‚΄μš© 및 객체의 속성은 보호 ν•˜μ§€ μ•ŠλŠ”λ‹€. 
			const arr=['html','css']; // λ°°μ—΄ 
			arr.push('javascript'); // λ°°μ—΄ 뒀에 μš”μ†Œλ₯Ό μΆ”κ°€
			arr[0]='HTML';
			console.log(arr);
			//arr=10; μ—λŸ¬ : TypeError
			
			
			//const obj = {'subject':'java',score:100};
			const obj ={subject:'java',score:100};
			//{속성이름:κ°’}
			console.log(obj.subject);
			obj.subject='html';
			console.log(obj.subject);
			
		
		}

		sub();
	</script>

</body>
</html>

 

리터널(Literal) 

리터널은 데이터 κ·Έ 자체λ₯Ό μ˜λ―Έν•˜λ©°, λ³€μˆ˜μ— λ„£λŠ” λ³€ν•˜μ§€ μ•ŠλŠ” 데이터. μŠ€ν¬λ¦½νŠΈμ— λΆ€μ—¬ν•œ κ³ μ • κ°’μœΌλ‘œ, λ³€μˆ˜κ°€ μ•„λ‹ˆλ‹€. 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
</head>
<body>

	<h3>리터널</h3>

	<script type="text/javascript">
		var a;

		a = 13; // 10μ§„μˆ˜
		console.log(a);

		a = o13
		//o13; // 8μ§„μˆ˜. 013으둜 ν‘œν˜„ κ°€λŠ₯ν•˜μ§€λ§Œ μ—λŸ¬ ν‘œμ‹œ  
		console.log(a); // 11 

		a = 0x13; // 16μ§„μˆ˜
		console.log(a); // 19

		a = 0
		//b1001; // 2μ§„μˆ˜
		console.log(a); // 9

		a = 3.141592; // 뢀동 μ†Œμˆ˜μ 
		console.log(a);

		a = 3.1E+12; // 뢀동 μ†Œμˆ˜μ 
		console.log(a);

		a = 'java'; // λ¬Έμžμ—΄ 리터널
		console.log(a);

		a = "JAVA"; // λ¬Έμžμ—΄ 리터널
		console.log(a);

		a = "C:\\temp"; // 문자 μ΄μŠ€μΌ€μ΄ν”„ 
		console.log(a);

		a = "subject:\"java\", score:100";
		console.log(a);

		a = 'subject:"java", score:100';
		console.log(a);

		a = /\d+/; // μ •κ·œμ‹,1자리 μ΄μƒμ˜ 숫자
		console.log(a);

		a = [ 'java', 'oracle', 'spring' ]; // λ°°μ—΄ 리터널
		console.log(a);

		a = {
			name : 'κΉ€μžλ°”',
			age : 20
		}; // 객체 리터널
		console.log(a);
		
		var name='κΉ€μžλ°”';
		var score=95;
		var msg;
		
		//msg="μ•ˆλ…•ν•˜μ„Έμš”."+name+"λ‹˜"+name+"λ‹˜μ˜ μ μˆ˜λŠ”"+score+"점 μž…λ‹ˆλ‹€.";
		//νƒ¬ν”Œλ¦Ώ 리터널 
		msg=`μ•ˆλ…•ν•˜μ„Έμš”. ${name}λ‹˜ ${name}λ‹˜μ˜ μ μˆ˜λŠ” ${score}점 μž…λ‹ˆλ‹€.`;
		console.log(msg);
	</script>



</body>
</html>

 

 

μ—°μ‚°μž 

μ—°μ‚°μžλŠ” λ³€μˆ˜λ‚˜ μƒμˆ˜μ— 미리 μ•½μ†λœ 연산을 ν–‰ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λ©°, μ—°μ‚°λ˜λŠ” ν•­μ˜ κ°œμˆ˜μ— 따라 이항 μ—°μ‚°μž,단항 μ—°μ‚°μž λ“±μœΌλ‘œ λ‚˜λˆ„μ–΄μ§„λ‹€. 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
</head>
<body>

<h3>μ—°μ‚°μž</h3>

<script type="text/javascript">
var a,b,c;

//+,-,*,/,%,++,--

c=1/2;
console.log(c); // 0.5

c=10/0;
console.log(c); // Infinity 
if(c===Infinity){
	console.log('0으둜 λ‚˜λˆ„μ—ˆμŠ΅λ‹ˆλ‹€.')
}
a=2;
b=10;
c=a**b;//κ±°λ“­μ œκ³±
console.log(c);//1024

c=2**3**2; // μš°κ²°ν•©, c=2**(3**2)κ³Ό 동일 
console.log(c); //512 

//c=-2**2// λͺ¨ν˜Έμ„±μ— μ˜ν•΄ ν—ˆμš©ν•˜μ§€ μ•ŠμŒ 

a="1.1";
b="1.1";
c=a+b;
console.log(c); // 1.11.1

c=(+a)+(+b); //2.2, λ‹¨ν•­μ—°μ‚°μž +λ₯Ό μ‚¬μš© 
console.log(c);

</script>


</body>
</html>

 

 

비ꡐ μ—°μ‚°μž

비ꡐ μ—°μ‚°μžλŠ” ν”Ό μ—°μ‚°μžλ“€μ„ λΉ„κ΅ν•˜μ—¬  true λ˜λŠ” falseλ₯Ό λ°˜ν™˜ν•œλ‹€. ν”Ό μ—°μ‚°μžλŠ” 숫자,λ¬Έμžμ—΄,λ…Όλ¦¬ν˜•, 객체λ₯Ό μ‚¬μš©ν•  수 있으며 λ¬Έμžμ—΄μ€ μœ λ‹ˆμ½”λ“œ 값을 μ‚¬μš© 사전 순으둜 λΉ„κ΅ν•œλ‹€. 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
</head>
<body>

	<h3>μ—°μ‚°μž - 비ꡐ μ—°μ‚°μž</h3>

	<script type="text/javascript">
		var a = '123';
		var b = 123;
		
		console.log(a == b); //true
		console.log(a === b); //===:λ™μΉ˜,false
	
		console.log(a!=b); // false
		console.log(a!==b); // true, λ™μΉ˜κ°€ μ•„λ‹Œ 경우
		
	</script>


</body>
</html>

 

 

논리 μ—°μ‚°μž 

논리 μ—°μ‚°μžλŠ” 보톡 true,falseκ³Ό μ‚¬μš©ν•œλ‹€. &&κ³Ό || μ—°μ‚°μžλŠ” μ‹€μ œλ‘œ λͺ…μ‹œλœ ν”Όμ—°μžλ“€ 쀑 ν•˜λ‚˜λ₯Ό λ°˜ν™˜ν•˜λ―€λ‘œ ν”Ό μ—°μ‚°μžκ°€ λΆ€μšΈ 값이 아닐 경우 λΆ€μšΈ 값이 μ•„λ‹Œ 값을 λ°˜ν™˜ν•  수 μžˆλ‹€. 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
</head>
<body>

	<h3>논리 μ—°μ‚°μž</h3>

	<script type="text/javascript">
	var a="";
	
	//"",0,null,undefined,NaN 등은 λͺ¨λ‘ 거짓이닀.
	
	if(a){
		console.log("a : μ°Έ");
	}else{
		console.log("a:κ±°μ§“");
	}
	
	a=0&&"css"; // false && true
	console.log(a); // 0, μ•žμ΄ κ±°μ§“μ΄λ―€λ‘œ λ’€ 연산을 ν•˜μ§€ μ•Šμ•„μ„œ 0을 λ°˜ν™˜
	
	a="html"&&"css";
	console.log(a); // css
	
	a="html"&&true;
	console.log(a); // true 
	
	a=false&&"css";
	console.log(a); // false
	
	a="html"||"css";
	console.log(a); // html 
	
	a="html"||false;
	console.log(a); // html 
	
	a=0||"css";
	console.log(a); // css 
	
    
	</script>

</body>
</html>