Frontend/JavaScript

[JavaScript]ν•¨μˆ˜μ˜ 인자(Argument)

sukii 2024. 1. 2. 18:32
λ°˜μ‘ν˜•

πŸ€”μΈμž(Argument) : ν•¨μˆ˜μ— μž‘μ„±λœ λͺ…령을 μ‹€ν–‰ν•˜κΈ° μœ„ν•΄ λ°˜λ“œμ‹œ ν•„μš”ν•œ 값을 ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•  λ•Œ 전달받아 μ €μž₯ν•˜κΈ° μœ„ν•œ λ³€μˆ˜ - μžλ°”μ—μ„œ λ§€κ°œλ³€μˆ˜(Paramater)라고 λΆ€λ₯΄λ˜ 것과 같은거라고 보면 됨

 

μ‹€μŠ΅μ½”λ“œπŸ‘©‍πŸ’»

μ•„λž˜ μ½”λ“œμ˜ 주석을 λ³΄λ©΄μ„œ 인자λ₯Ό μ–΄λ–»κ²Œ μ‚¬μš©ν•˜λŠ”μ§€ 확인해보기

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript</title>
</head>
<body>
	<script type="text/javascript">
  	//λ§€κ°œλ³€μˆ˜(인자,argument)의 νŠΉμ§•
	//1)λ§€κ°œλ³€μˆ˜λŠ” var ν‚€μ›Œλ“œ 없이 μ„ μ–Έν•˜λ©° μ§€μ—­λ³€μˆ˜λ‘œ 처리	
	function sum(num1, num2) {
		alert("합계 = "+(num1+num2));
	}	
	
	//2)λ§€κ°œλ³€μˆ˜μ˜ κ°œμˆ˜μ™€ λ™μΌν•œ 개수의 값을 μ „λ‹¬ν•˜μ—¬ ν•¨μˆ˜ 호좜
	sum(10, 20);//합계 = 30
	
	//3)λ§€κ°œλ³€μˆ˜μ˜ κ°œμˆ˜λ³΄λ‹€ 적은 개수의 값을 μ „λ‹¬ν•˜μ—¬ ν•¨μˆ˜ ν˜ΈμΆœμ€ κ°€λŠ₯함
	// => κ·ΈλŸ¬λ‚˜ 값을 전달받지 λͺ»ν•œ λ§€κ°œλ³€μˆ˜λŠ” μ €μž₯값이 μ—†μœΌλ―€λ‘œ [undefined]둜 처리 - 비정상적인 κ²°κ³Ό 제곡
	sum(10);//합계 = NaN
	
	//4)λ§€κ°œλ³€μˆ˜μ˜ κ°―μˆ˜λ³΄λ‹€ λ§Žμ€ 개수의 값을 μ „λ‹¬ν•˜μ—¬ ν•¨μˆ˜ 호좜 κ°€λŠ₯
	// => λ§€κ°œλ³€μˆ˜μ— 값을 μ°¨λ‘€λŒ€λ‘œ 전달받아 μ €μž₯ν•˜κ³  남은 값은 λ―Έμ‚¬μš© 처리
	sum(10, 20, 30);
	
   	//5)
	function total() {
		
		//arguments 객체 : ν•¨μˆ˜ ν˜ΈμΆœμ‹œ μ „λ‹¬λœ λͺ¨λ“  값을 λ°°μ—΄ ν˜•μ‹μœΌλ‘œ μ €μž₯ν•˜κΈ° μœ„ν•œ λ‚΄μž₯객체
		// => λͺ¨λ“  전달값을 arugments 객체의 μš”μ†Œ(Element)둜 μ €μž₯
		alert(arguments);//[object Arguments]
		alert(arguments.length);//μ „λ‹¬κ°’μ˜ 개수(μš”μ†Œμ˜ 개수)λ₯Ό μ œκ³΅λ°›μ•„ 좜λ ₯
		
		var tot=0;
		for(i=0;i<arguments.length;i++) {
			tot+=arguments[i];//전달값을 λ³€μˆ˜μ— λˆ„μ 
		}
		
		alert("합계 = "+tot);
	}
	
	//μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œλŠ” λ§€κ°œλ³€μˆ˜μ— 상관없이 ν•¨μˆ˜λͺ…μœΌλ‘œ ν•¨μˆ˜ 호좜 κ°€λŠ₯
	//total();//이 κ²½μš°μ—λŠ” argument.length의 κ²°κ³ΌλŠ” 0이 되고, tot λ˜ν•œ λ”ν•œκ²Œ μ—†μœΌλ‹ˆ 0이 됨
	total(10, 20, 30, 40, 50);
	</script>
</body>
</html>
λ°˜μ‘ν˜•