본문 바로가기
CLASS/HTLML,CSS,JS

#11-2 / ECMA Script (함수 사용법) - ES7

by hingu 2024. 7. 16.

👀

import 있음 !!

필요한것만 골라서 호출하기 때문에 속도가 빠르며 핸들링이 용이하다!

가상변수 핸들링함수 this 명령어  - 일반 함수에서는 사용 x , class함수에서만 사용!

⚡ import <- export

<script type="module"> </script>  

해당 방식으로 js파일 로드함
모든 코드가 암호화됨 , script src 보다 속도는 훨씬 빠름

- ecma_3.jsp
<body>
	<input type="button" value="클릭" id="btn">
</body>

<script type="module"> 
	/* import를 이용하여 외부 js파일을 로드 */
	import a from "./ecma_3.js";

	/* {} : 호출받을 함수 */
	import {abc,bbb} from "./ecma_3.js";
	
	abc("홍길동"); /* 홍길동님 */
	document.querySelector("#btn").addEventListener("click",bbb()); /*이벤트 핸들링 호출*/
</script>


- emca_3.js

var dd = "test ecma 코드";
export default console.log(dd); //import에서 요청한 사항을 export를 이용하여 값을 내보냄

//abc 함수를 import 호출할 수 있도록 export로 설정
export function abc(data){
	return console.log(data + "님");
}

//이벤트 핸들링 함수
export function bbb(){
	this.no1 = 5; //가상변수 핸들링함수 this 명령어 사용 가능
	this.no2 = 20;
	
	return console.log(this.no1*this.no2);
}

 

⚡ 인자값 활용
export에 해당 함수 인자값을 보낼 경우는 function을 선언 후 데이터값을 인자로 이관하여 전달함

- ecma_4.jsp
<body>
	<input type="text" name="mid" id="mid">
	<input type="button" value="중복체크" id="btn">
	<br><br>
	
	<!-- 
		응용문제..
		두개의 숫자를 입력받습니다
		해당 입력값 범위 안에 있는 모든 값을 더하여 결과를 출력하는 es7 code를 작성하시오. 
	 -->
	 <input type="text" name="num1" id="num1">
	 <input type="text" name="num2" id="num2">
	 <input type="button" value="전송" id="btn2">
	 <div>결과 : <span class="result"></span></div>
</body>

<script type="module">
	import {idcheck,numcheck} from "./ecma_4.js?v=1";
	//export에 해당 함수 인자값을 보낼 경우는 function을 선언 후 데이터값을 인자로 이관하여 전달함
	document.querySelector("#btn").addEventListener("click",function(){
		var obj = document.getElementById("mid").value;
		idcheck(obj);
	});


	document.querySelector("#btn2").addEventListener("click",function(){
		var n1 = document.getElementById("num1").value;
		var n2 = document.getElementById("num2").value;
		var rs = numcheck(n1,n2);

		document.querySelector(".result").innerText = rs;
	});
</script>


- ecma_4.js

//이벤트 핸들링 함수로 인자값을 받아서 처리하는 함수
export function idcheck(data){
	if(data == ""){
		alert("아이디를 입력하세요");
	}else{
		alert("사용 가능한 아이디입니다.");
	}
} 

export function numcheck(a,b){
	var sum = 0;
	var w = Number(a);
	while(w <= Number(b)){
		sum += w;
		w++;
	}
	
	return sum;
}