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>
출력
'여기를 클릭' 버튼을 클릭하면 -