The new.target in JavaScript

JavascriptWeb DevelopmentObject Oriented Programming

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

 Live Demo

<!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 −

raja
Updated on 20-Jul-2020 08:36:54

Advertisements