KeyboardEvent의 key 속성은 사용자가 입력한 키보드 이벤트에서 눌린 키에 해당하는 키 식별자(key identifier)를 문자열로 반환합니다. 예를 들어 'B' 키를 누르면 'B'라는 값이, Enter 키를 누르면 'Enter'라는 값이 반환됩니다.
구문
key 속성을 사용하는 기본 문법은 다음과 같습니다.
event.key
이 속성은 읽기 전용(read-only)이며, 대소문자를 구분한다는 점에 유의해야 합니다. 즉, Shift 키 상태에 따라 같은 물리적 키라도 다른 값('b' 또는 'B')을 반환할 수 있습니다.
예제
다음은 KeyboardEvent key 속성을 활용한 실전 예제입니다. 사용자가 빈칸 채우기 문제에 정답을 입력하면, key 속성으로 입력된 값을 판별하여 결과를 화면에 표시합니다.
<!DOCTYPE html>
<html>
<head>
<title>KeyboardEvent key</title>
<style>
form {
width:70%;
margin: 0 auto;
text-align: center;
}
* {
padding: 2px;
margin:5px;
}
input[type="button"] {
border-radius: 10px;
}
</style>
</head>
<body>
<form>
<fieldset>
<legend>KeyboardEvent-key</legend>
<label>빈칸을 채워주세요:
<input type="text" id="textSelect" placeholder="__ for Ball" onkeypress="getEventData(event)" autocomplete="off">
</label>
<div id="divDisplay"></div>
</fieldset>
</form>
<script>
var divDisplay = document.getElementById("divDisplay");
var textSelect = document.getElementById("textSelect");
function getEventData(InputEvent) {
if(InputEvent.key === 'B')
divDisplay.textContent = '정답입니다!';
else if(InputEvent.key === 'b')
divDisplay.textContent = '아깝네요! Caps Lock이 꺼져 있는지 확인해 보세요';
else
divDisplay.textContent = '다시 시도하세요, '+textSelect.placeholder;
textSelect.textContent = '';
}
</script>
</body>
</html>출력 결과
위 코드를 실행하면 다음과 같은 결과를 확인할 수 있습니다.
텍스트 필드에 아무것도 입력하지 않은 경우

텍스트 필드에 소문자 'b'를 입력한 경우 − Caps Lock이 꺼져 있다는 안내 메시지가 표시됩니다.

텍스트 필드에 대문자 'B'를 입력한 경우 − 정답 처리됩니다.

참고 사항
key 속성은 keyCode나 which 속성과 달리 브라우저와 운영체제에 관계없이 일관된 문자열 값을 제공하므로, 최신 웹 개발에서 키보드 입력을 처리할 때 권장되는 방식입니다. 특수키(예: 'Shift', 'ArrowUp', 'Escape')도 직관적인 이름으로 반환되어 코드 가독성이 크게 향상됩니다.