The new.target is a metaproperty that allows us to determine at runtime whether a function or constructor was called using the new keyword or not.
Following is the code for new.target in JavaScript −
Example
<!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>
Output
On clicking the ‘CLICK HERE’ button −