p 794

수빈·2023년 3월 3일
0
<!DOCTYPE html>
<html>
<body>
    <label>User name <input type="text"></label>
    <em class="message"></em>

    <script>
        // 이름 최소 길이
        const MIN_USER_NAME_LENGTH = 5;
        const $input = document.querySelector('input[type=text]');
        const $msg = document.querySelector('.message');

        $input.onblur = () => {
            $msg.textContent = $input.value.length < MIN_USER_NAME_LENGTH ? `이름은 ${MIN_USER_NAME_LENGTH}자 이상 입력해 주세요`:'';
        };
                                                                         
		// const checkUserNameLength = min => {
      	//     $msg.textContent = $input.value.length > min ? `이름은 ${min}자 이상 입력해 주세요`:'';
        // };
      
        // $input.onblur = () = {
        //     checkUserNameLength(MIN_USER_NAME_LENGTH);  
       	// };
</script>
</body>
</html>

잘 되긴 하는데
코드 축약을 위해 따로 함수(checkUserNameLength)를 만든거같다

// 1
const aa = min => {
	$input.textContent = $input.value.length < min ? 1 : 0; 
};
$input.onblur = () => {
	aa(MIN_USER_NAME_LENGTH);
};

console.log($input.onblur); 
// () => {
//     aa(MIN_USER_NAME_LENGTH);
// };






// 2
const aa = min => () => {
	$input.textContent = $input.value.length < min ? 1 : 0; 
};
$input.onblur = aa(MIN_USER_NAME_LENGTH);

// 2
const aa = min => e => {
	$input.textContent = $input.value.length < min ? 1 : 0; 
};
$input.onblur = aa(MIN_USER_NAME_LENGTH);

console.log($input.onblur); 
// (e) => {
//     $msg.textContent = $input.value.length < min ? `${min}` : '';
// };

// 1 = 2

1 어떠한 동작을 할 명분이 없어요
아직 요리안된 있는 그대로의 날것을 console해주세요

2 괄호로 명령함으로써 저걸 요리할 명분이 있어요
aa를 ()로 요리해서 console해주세요
요리하고 나서 나온 ()의 첫번째 인수는 무조건 이벤트 객체 (e)

0개의 댓글