JavaScriptの関数プロトタイプ
JavaScriptで作成された関数には、JavaScriptエンジンによって追加されたプロトタイププロパティが常にあります。プロトタイププロパティは、デフォルトでコンストラクタプロパティを含むオブジェクトです。関数protoypeには、-
からアクセスできます。functionName.prototype
オブジェクトが関数コンストラクターを使用して作成されている場合、このプロトタイププロパティを使用して、その関数コンストラクターによって作成されたオブジェクト間でメソッドまたはプロパティを共有できます。
以下は、JavaScriptの関数プロトタイプのコードです-
例
<!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>Function prototypes in JavaScript</h1>
<div class="result"></div>
<br />
<button class="Btn">Click Here</button>
<h3>Click on the above button to call the welcome method of person1 and person2 object</h3>
<script>
let resEle = document.querySelector(".result");
let BtnEle = document.querySelector(".Btn");
function personConstructor(fName, lName) {
this.fName = fName;
this.lName = lName;
}
personConstructor.prototype.welcome = function () {
return "Welcome " + this.fName + " " + this.lName;
};
let person1 = new personConstructor("Rohan", "Sharma");
let person2 = new personConstructor("Shawn", "Smith");
BtnEle.addEventListener("click", () => {
resEle.innerHTML = "person1.welcome() = " + person1.welcome() + "<br>";
resEle.innerHTML += "person2.welcome() = " + person2.welcome() + "<br>";
});
</script>
</body>
</html> 出力
[ここをクリック]ボタンをクリックすると-
-
JavaScriptでプロトタイプを変更する
以下は、JavaScriptでプロトタイプを変更するためのコードです- 例 <!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> &nbs
-
JavaScriptでの関数の借用。
call()、apply()、bind()は、JavaScriptのメソッドを借用するために使用されます。 以下は、JavaScriptでメソッドを借用するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> &