์ž๋Š” ์”จ์•—
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
    • ๐Ÿฃ ๊ธฐ์ดˆ ๊ฐœ๋…
    • ๐Ÿ“Ž ์œ ํŠœ๋ธŒ
    • ๐Ÿ’พ ์กฐ๊ฐ๋ชจ์Œ
    • ๐Ÿ‘ฉ‍๐Ÿ’ป Error
    • โ„ React
    • ๐ŸฅPython
    • ๐Ÿ€ Spring
    • ๐Ÿฅž JS
    • ๐Ÿ‹ Docker
    • ๐Ÿงญ WSO2
    • ๐Ÿง Linux
    • ๐Ÿ”— SQL
    • ๐Ÿข C#
    • ๐Ÿ“‘ ์ฝ์„๊ฑฐ๋ฆฌ
    • ๐Ÿ‘€์งˆ๋ฌธ๋“ค
    • ๐Ÿ‘ฉ‍๐Ÿ’ป ๊ตญ๋น„ ์ˆ˜์—…
      • Java ์ž๋ฐ”
      • Oracle ์˜ค๋ผํด
      • JDBC
      • HTML & CSS
      • JavaScript
      • JSP
      • Servlet
      • Spring
      • MyBatis
    • ๐Ÿ“• ๊ฐœ๋ฐœ ํ˜ผ๊ณต
      • ์ž๋ฐ”์˜ ์ •์„
      • ์ž๋ฐ” ORM ํ‘œ์ค€ JPA ํ”„๋กœ๊ทธ๋ž˜๋ฐ
hELLO ยท Designed By ์ •์ƒ์šฐ.
์ž๋Š” ์”จ์•—

๐ŸŒฑ

0228 ๊ตญ๋น„ ์ˆ˜์—… JavaScript Storage(sessionStorage, localStorage) JSON JSONObject eval ํ•จ์ˆ˜
๐Ÿ‘ฉ‍๐Ÿ’ป ๊ตญ๋น„ ์ˆ˜์—…/JavaScript

0228 ๊ตญ๋น„ ์ˆ˜์—… JavaScript Storage(sessionStorage, localStorage) JSON JSONObject eval ํ•จ์ˆ˜

2023. 3. 4. 14:58

*Storage

 - HTML5์—์„œ ์ œ๊ณต๋˜๋Š” ๊ฐ์ฒด
 - ์ ‘์†์ž์˜ ์ •๋ณด๋ฅผ ์ ‘์†์ž์˜ web browser์— ์ €์žฅํ•˜๋Š” ๊ธฐ์ˆ 
 - localStorage, sessionStorage ๋‘ ๊ฐ€์ง€๋ฅผ ์ œ๊ณต
 - window๊ฐ์ฒด์—์„œ ์ œ๊ณต
 - ์ ‘์†์ž ๊ฐœ์ธ์„ ์‹๋ณ„ํ•˜๋Š” ๊ฐœ์ธํ™”์— ์‚ฌ์šฉ๋จ
 - ์ ‘์†์ž ์ปดํ“จํ„ฐ์— ์ •๋ณด๊ฐ€ ์ €์žฅ๋˜๋ฏ€๋กœ ์ ‘์†์ž๊ฐ€ ์‚ญ์ œ,๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Œ (์ค‘์š”์ •๋ณด๋Š” ์ €์žฅX)

 

๋ฉฑ๋“ฑ์„ฑ: ์›น์€ ์ ‘์†ํ•œ ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ๋™์ผํ•œ ํ™”๋ฉด์ด ๋™์ผํ•˜๊ฒŒ ๋ณด์ž„

>๊ฐœ์ธํ™” ์„œ๋น„์Šค: ์ ‘์†ํ•œ ์‚ฌ๋žŒ์ด ๋‹ค๋ฅผ ๋•Œ ๋‹ค๋ฅธ ํ™”๋ฉด์ด ๋ณด์ด๋Š” ๊ฒƒ / ๋ฉฑ๋“ฑ์„ฑ์—์„œ ํŠน์ • ๋ถ€๋ถ„์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ

 



*sessionStorage

 -์ ‘์†์ž์˜ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์—ด๋ ค์žˆ๋Š” ๋™์•ˆ์—๋งŒ ์œ ์ง€๋˜๋Š” storage
 -์ ‘์†์ž์˜ ์ •๋ณด๋ฅผ ๋‹ค์Œ ๋ฒˆ ์ ‘์†์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ (์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ์‚ญ์ œ๋จ)
 -ํ‚ค์™€ ๊ฐ’์˜ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์Œ
 -Cookie์™€ ๋‹ค๋ฅด๊ฒŒ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐํ˜•์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Œ

  • ์ฟ ํ‚ค: ๋ฌธ์ž์—ด๋งŒ ์ €์žฅ ๊ฐ€๋Šฅ
  • storage: ๋ฌธ์ž์—ด,์ˆซ์ž,๋ถˆ๋ฆฐ.. (์ฟ ํ‚ค์˜ ์ƒ์œ„ ํ˜ธํ™˜)



์‚ฌ์šฉ๋ฒ•)
  

1. ๊ฐ์ฒด ์–ป๊ธฐ

   var ss=window.sessionStorage;

 

 2. ๊ฐ’ ์„ค์ •

   ss.setItem(ํ‚ค,๊ฐ’);

  

3.๊ฐ’ ์–ป๊ธฐ 

   var value=ss.getItem( ํ‚ค );

 

 4. ๊ฐ’ ์‚ญ์ œ

   ss.removeItem(ํ‚ค);

 

 5. storage์— ์ €์žฅ๋œ ๋ชจ๋“  ๊ฐ’ ์‚ญ์ œ

   ss.clear();

 

 

 


*localStorage 

 -์ ‘์†์ž์˜ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ข…๋ฃŒ๋˜์–ด๋„ ์œ ์ง€๋˜๋Š” storage
 -์ ‘์†์ž์˜ ์ •๋ณด๋ฅผ ๋‹ค์Œ ๋ฒˆ ์ ‘์†์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
 -ํ‚ค์™€ ๊ฐ’์˜ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์Œ

 


์‚ฌ์šฉ๋ฒ•)
  

1. ๊ฐ์ฒด ์–ป๊ธฐ

   var ls=window.localStorage;

  

2. ๊ฐ’ ์„ค์ •

  ls.setItem(ํ‚ค,๊ฐ’);


  

3.๊ฐ’ ์–ป๊ธฐ 

   var value=ls.getItem( ํ‚ค );

 

  4. ๊ฐ’ ์‚ญ์ œ

   ls.removeItem(ํ‚ค);

 

 5. storage์— ์ €์žฅ๋œ ๋ชจ๋“  ๊ฐ’ ์‚ญ์ œ

  ls.clear();


<๋ณ€์ˆ˜ ์—†์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ>

 

1.๊ฐ’ ์„ค์ •
 localStorage.setItem(ํ‚ค,๊ฐ’)

2. ๊ฐ’ ์–ป๊ธฐ
 var value=localStorage.getItem(ํ‚ค);

3. ๊ฐ’ ์‚ญ์ œ
localStorage.removeItem(  ํ‚ค )

4. ๋ชจ๋“  ๊ฐ’ ์‚ญ์ œ.
 localStorage.clear();

 


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>


<script type="text/javascript">

/* ์•„์ด๋”” ์ €์žฅ์ด checked๋œ ์ƒํƒœ๋กœ ๋กœ๊ทธ์ธ์ด ๋ˆŒ๋ฆฌ๋ฉด ๋‹ค์Œ ๋ฒˆ์— ์ ‘์†ํ–ˆ์„ ๋•Œ text์— ์ด์ „์— ๋„ฃ์€ ์•„์ด๋””๊ฐ€ ๋“ค์–ด์žˆ๊ณ , ์ฒดํฌ๋ฐ•์Šค ์ƒํƒœ๊ฐ€ checked 
 * ์•„์ด๋”” ์ €์žฅ์ด checked๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋กœ๊ทธ์ธ ๋ˆŒ๋ฆฌ๋ฉด ๋‹ค์Œ๋ฒˆ ์ ‘์† ์‹œ ๋น„์–ด์žˆ๋Š” text์™€ checkbox ๋น„์–ด์žˆ๊ณ  ํ•ด์ œ๋œ ์ƒํƒœ๋กœ ๋ณด์—ฌ์•ผ ํ•จ
 */

 
 window.onload=function(){ //ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์‹œ
	
	 var chk = localStorage.getItem("chk");
	 
	 if(chk){ //checked๋˜์–ด์žˆ๋‹ค๋ฉด
		var obj = document.frm;
		obj.id.value=localStorage.getItem("id"); //์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅ๋œ ๊ฐ’์œผ๋กœ text ์„ค์ •
		obj.saveId.checked = chk; // ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅ๋œ ๊ฐ’์œผ๋กœ checkbox ์„ค์ •
		 
	 }//end if
	
}//function
 


function saveId1(){
	
	var obj = document.frm;

	
	//์ฒดํฌ๋ฐ•์Šค๊ฐ€ ์ฒดํฌ ๋˜์—ˆ๋Š”์ง€
	if(obj.saveId.checked) { //checked์ด๊ณ 
		
		if(obj.id.value!="") //text๊ฐ€ empty๊ฐ€ ์•„๋‹ˆ๋ฉด
			localStorage.setItem("id",obj.id.value); // ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€ id์— text๊ฐ’ ์ €์žฅ
		}//end if
        
       localStorage.setItem("chk",obj.saveId.checked);


	} else { //checked๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด
 
		localStorage.removeItem("id"); //๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€์—์„œ ์‚ญ์ œ
		localStorage.removeItem("chk");
	
	}//end else
 
 
}//saveId1

</script>


</head>
<body>
<form name="frm">
<input type="text" name="id" id="id" class="inputBox"/> 
<input type="checkbox" name="saveId" id="saveId"/>์•„์ด๋”” ์ €์žฅ
<br/>

<input type="button" value="๋กœ๊ทธ์ธ" id="btn" class="btnBorder" onclick="saveId1()"/> 
</form>

</body>
</html>

 

 


*JSON(JavaScript Object Notation)

- ๊ฐ’๋“ค์„ ๊ฐ€์ง„ ๊ฐ์ฒด
 - ๋ฌธ์ž์—ด, ์ˆซ์ž, ๋ถˆ๋ฆฐ, ํ•จ์ˆ˜๋ฅผ ์ €์žฅํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

  (ํ•จ์ˆ˜: first class function (data๋กœ ์ทจ๊ธ‰))
 - ์ด๋ฆ„๊ณผ ๊ฐ’์˜ ์Œ
 - ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋Š” ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ ์–ป์„ ์ˆ˜ ์žˆ์Œ => parsing data
 - JSONObject๊ณผ JSONArray๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

 

 
 ํ˜•์‹)

   { ์ด๋ฆ„: ๊ฐ’,,,,,,, }

 

๊ฐ’:

  • ๋ฌธ์ž์—ด – “a”, ‘a’
  • ์ˆซ์ž – 3, 3.3
  • ๋ถˆ๋ฆฐ – true, false
  • ํ•จ์ˆ˜ – function (){
             }


 

 - javascript์—์„œ ๋ฌธ์ž์—ด ํ˜•์‹์˜ JSONObject๋ฅผ ์ƒ์„ฑํ•ด์„œ ์‚ฌ์šฉํ•  ๋•Œ์—๋Š” eval()ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•จ (evaluation)
   

์‚ฌ์šฉ๋ฒ•)

var obj=eval(“(“+ data+ ”)”);

//data: json๊ฐ์ฒด ํ˜•์‹์˜ ๋ฌธ์ž์—ด  
// "{ ์ด๋ฆ„:๊ฐ’, ์ด๋ฆ„:๊ฐ’, ,,,, }"

 

 


*JSONObject

 - JSON์˜ ๋ฌธ๋ฒ•์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ฐ’์„ ๊ฐ€์ง„ ๊ฐ์ฒด
 - ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ’์„ ๋ฌถ์–ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

 


  ํ˜•์‹)

    { ์ด๋ฆ„: ๊ฐ’,,,, }

 

 


  ์‚ฌ์šฉ๋ฒ•)

- ๋ฌธ์ž์—ด ์‚ฌ์šฉ

  • eval ํ•จ์ˆ˜ ์‚ฌ์šฉ : eval()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด์„ JSONObject ๋กœ ์ƒ์„ฑ

         1. JSONObjectํ˜•์‹์˜ ๋ฌธ์ž์—ด์„ ์„ ์–ธ
             var data=“{ ์ด๋ฆ„ : ๊ฐ’,,, }”;
      
         2. JSONObject ์ƒ์„ฑ
             var jsonObj=eval(“(“+ data + ”)”);



  • {  }๋ฅผ ์—ด์–ด์„œ ์‚ฌ์šฉ : JSONObject ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ
             var jsonObj={ ์ด๋ฆ„:๊ฐ’ ,,,, } ;

 

 

-๊ฐ’ ์–ป๊ธฐ

   -๊ฐ’: ๋ฌธ์ž์—ด, ์ˆซ์ž, ๋ถˆ๋ฆฐ
JSON๊ฐ์ฒด๋ช….์ด๋ฆ„
 

 -ํ•จ์ˆ˜

JSON๊ฐ์ฒด๋ช….์ด๋ฆ„();

 

-๊ฐ’ ์ถ”๊ฐ€

 JSON๊ฐ์ฒด๋ช….์ถ”๊ฐ€ํ• ์ด๋ฆ„=๊ฐ’;

 

-๊ฐ’ ์‚ญ์ œ

  delete JSON๊ฐ์ฒด๋ช….์‚ญ์ œํ• ์ด๋ฆ„;

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>


<script type="text/javascript">

function useJson(){
	
	//JSONObject์˜ ์‚ฌ์šฉ
	//1.JSONObject ํ˜•ํƒœ์˜ ๋ฌธ์ž์—ด ์‚ฌ์šฉ (JavaScript Object Notation)
	// "{์ด๋ฆ„:๊ฐ’, ,,,}"
	
	var data = "{name:'์œคoo', age:20 }"; // ์Œ๋”ฐ์˜ดํ‘œ๋‹ˆ๊นŒ ๋ฌธ์ž์—ด
	//alert(typeof(data));
	
  	//evalํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด>๊ฐ์ฒด๋กœ ์ƒ์„ฑ
	var jsonObj = eval( "("+data+ ")" ); //evaluation
	//alert(typeof(jsonObj));
	
    
	
	//2. ์‚ฌ์šฉ parsing(์ž˜๋ผ๋‹ค๊ฐ€ ์“ฐ๋Š” ๊ฒƒ) : json๊ฐ์ฒด๋ช….์ด๋ฆ„ < ๊ฐ’์„ ๊บผ๋‚ด์„œ ์“ธ ์ˆ˜ ์žˆ์Œ
	//alert(jsonObj.name+" / "+typeof(jsonObj.age));
	
	
	var json ={name:"๋ฐ•oo",age:25,addr:function(){return "์„œ์šธ์‹œ ๊ฐ•๋‚จ๊ตฌ ์—ญ์‚ผ๋™"}};
	//alert(typeof(json));
	
    
    
	var obj=document.frm;
	//JSONObject์˜ ๊ฐ’์„ parsingํ•˜์—ฌ HTML Form Control์— ์„ค์ •
	
	//๊ฐ’ ์‚ญ์ œ: delete json๊ฐ์ฒด๋ช….์ด๋ฆ„;
	alert("์‚ญ์ œ ์ „ ์ด๋ฆ„: "+json.name);
	delete json.name;
	alert("์‚ญ์ œ ํ›„ ์ด๋ฆ„: "+json.name); //undefined
	
	
	obj.name.value=json.name;
	obj.age.value=json.age;
	
	
	//ํ•จ์ˆ˜๋ช…๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ํ•จ์ˆ˜์˜ ๋‚ด์šฉ์ด ๋ฌธ์ž์—ด๋กœ ์ถœ๋ ฅ
	obj.addr.value=json.addr; //ํ•จ์ˆ˜๋ช…๋งŒ ์“ฐ๋ฉด ํ•จ์ˆ˜ ๋‚ด์šฉ์ด ๋ฌธ์ž์—ด๋กœ ๋‚˜์˜ค๋‹ˆ๊นŒ ์ฃผ์˜
    
	//ํ•จ์ˆ˜ ๊ธฐํ˜ธ๋ฅผ ์จ์ฃผ๋ฉด -ํ•จ์ˆ˜๋ช…() // ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜์–ด ์ผ์„ ํ•จ
	obj.addr1.value=json.addr(); 
	
    
	
	//๊ฐ’ ์ถ”๊ฐ€: ์ƒ์„ฑ๋œ JSONObject์— ๊ฐ’ ์ถ”๊ฐ€ jsonObject๋ช….์ด๋ฆ„=๊ฐ’;
	json.height=182.3;
	//alert("ํ‚ค๋Š”: "+json.height);
	
    
	//๊ฐ’ ์‚ญ์ œ: delete json๊ฐ์ฒด๋ช….์ด๋ฆ„;
	delete json.name;
	alert("์‚ญ์ œ ํ›„ ์ด๋ฆ„: "+json.name);
	
	
}//useJson



</script>




</head>
<body>


<input type="button" value="JSONObject" class="btnBorder" onclick="useJson()"/>

<form name="frm">
<input type="text" name="name" class="inputBox"/><br>
<input type="text" name="age" class="inputBox"/><br>
<input type="text" name="addr" class="inputBox"/><br>
<input type="text" name="addr1" class="inputBox"/><br>
</form>

</body>
</html>
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ‘ฉโ€๐Ÿ’ป ๊ตญ๋น„ ์ˆ˜์—… > JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

0303 ๊ตญ๋น„ ์ˆ˜์—… JavaScript jQueryObject ํ•จ์ˆ˜(css, events, effect) HTML Form Control(val, focus, focusin, focusout)  (0) 2023.03.04
0302 ๊ตญ๋น„ ์ˆ˜์—… JavaScript JSONArray ๋ณตํ•ฉ ํ˜•ํƒœ closure jQuery CDN jQuery ๋กœ๋”ฉ(document, window) jQuery Selector(id, class, tag, multiple, attribute, sub, hoverํ•จ์ˆ˜)  (0) 2023.03.04
0227 ๊ตญ๋น„ ์ˆ˜์—… JavaScript ์ด๋ฒคํŠธ์ฒ˜๋ฆฌ(์ต๋ช…ํ•จ์ˆ˜, ๊ธฐ๋ช…ํ•จ์ˆ˜ ์‚ฌ์šฉ) ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ฐ์ฒด(location, history) ํ‚ค๋ณด๋“œ ์ด๋ฒคํŠธ์ฒ˜๋ฆฌ popup์ฐฝ ์—ด๊ธฐ confirm dialog ๋‹ค์Œ ์šฐํŽธ๋ฒˆํ˜ธ API  (0) 2023.02.28
0224 ๊ตญ๋น„ ์ˆ˜์—… JavaScript select์˜ ๊ฐ’ ์–ป๊ธฐ JavaScript์—์„œ ๋ฐœ์ƒํ•œ ๊ฐ’์„ HTML Form Control ์„ค์ •(value, checked, selected)  (0) 2023.02.26
0223 ๊ตญ๋น„ ์ˆ˜์—… JavaScript ๋‚ ์งœํ•จ์ˆ˜ HTML Form Control์˜ ๊ฐ’ ์–ป๊ธฐ(id์†์„ฑ, name์†์„ฑ)  (1) 2023.02.24
    '๐Ÿ‘ฉ‍๐Ÿ’ป ๊ตญ๋น„ ์ˆ˜์—…/JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • 0303 ๊ตญ๋น„ ์ˆ˜์—… JavaScript jQueryObject ํ•จ์ˆ˜(css, events, effect) HTML Form Control(val, focus, focusin, focusout)
    • 0302 ๊ตญ๋น„ ์ˆ˜์—… JavaScript JSONArray ๋ณตํ•ฉ ํ˜•ํƒœ closure jQuery CDN jQuery ๋กœ๋”ฉ(document, window) jQuery Selector(id, class, tag, multiple, attribute, sub, hoverํ•จ์ˆ˜)
    • 0227 ๊ตญ๋น„ ์ˆ˜์—… JavaScript ์ด๋ฒคํŠธ์ฒ˜๋ฆฌ(์ต๋ช…ํ•จ์ˆ˜, ๊ธฐ๋ช…ํ•จ์ˆ˜ ์‚ฌ์šฉ) ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ฐ์ฒด(location, history) ํ‚ค๋ณด๋“œ ์ด๋ฒคํŠธ์ฒ˜๋ฆฌ popup์ฐฝ ์—ด๊ธฐ confirm dialog ๋‹ค์Œ ์šฐํŽธ๋ฒˆํ˜ธ API
    • 0224 ๊ตญ๋น„ ์ˆ˜์—… JavaScript select์˜ ๊ฐ’ ์–ป๊ธฐ JavaScript์—์„œ ๋ฐœ์ƒํ•œ ๊ฐ’์„ HTML Form Control ์„ค์ •(value, checked, selected)

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”