new.target은 함수 생성자가 new 키워드를 사용하여 호출되었는지 여부를 런타임에 결정할 수 있게 해주는 메타 속성입니다.
다음은 JavaScript의 new.target에 대한 코드입니다 -
예시
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.result {
font-size: 20px;
font-weight: 500;
color: blueviolet;
}
</style>
</head>
<body>
<h1>new.target in JavaScript.</h1>
<div class="result"></div>
<br />
<button class="Btn">CLICK HERE</button>
<h3>Click on the above button to call the Student constructor without the new keyword</h3>
<script>
let resEle = document.querySelector(".result");
let BtnEle = document.querySelector(".Btn");
function Student(name, age, place) {
if (!new.target) {
resEle.innerHTML ="Error : Student should be used with the new operator";
}
this.name = name;
this.age = age;
this.place = place;
}
BtnEle.addEventListener("click", () => {
Student("Shawn", 22, "Delhi");
});
</script>
</body>
</html> 출력

'여기를 클릭' 버튼을 클릭하면 -
