コンストラクター関数とは
新しくオブジェクトを作成するための雛形となる関数
メリット
オブジェクトを簡単に生成できる
主なフロー
1.関数を宣言する
2.オブジェクトを生成(インスタンス化)
3.実行する
書き方
1.関数を宣言する
function Person(name,age){
this.name = name;
this.age = age;
this.intro = function(){
console.log(`私は${this.name}です${this.age}`)
}
}
}
関数を作成するが
Personのnameという変数に名前を代入しておく
*自分のなかでは A of B(AのB)を作る作業だと考えている
2.オブジェクトを生成(インスタンス化)
const tani = new Person("taniyan",34);
console.log(tani.age)
1.で作ったAのBの変数に代入して、オブジェクトを作る
例)taniくんを作ります。PersonのnameはtaniyanでPersonのageは34歳です
3.実行する
console.log(tani.age)
console.log(tani.name)
tani.intro()
さっきのAofBで実行すると答えが呼ばれるようになる。
## なにがいいのか?
function Person(name,age){
this.name = name;
this.age = age;
this.intro = function(){
console.log(`私は${this.name}です${this.age}`)
}
}
// ここの1行だけで、taniくん,satoくん,suzukiくんが完成する
const tani = new Person("taniyan",34);
const sato = new Person("satoyan",26);
const suzuki = new Person("su-san",19);
console.log(tani.age)
console.log(tani.name)
console.log(suzuki.name)
tani.intro()
sato.intro()
もしメリットが分かりづらかったら、自分のクラス全員または職場全員分のnameとageを出力できる関数を
以下を参考にして作ってみてください。
const taniname = "taniyan"
const taniage = 34
function taniCall(taniname,taniage){
console.log(taniname,taniage)
}
tanicall()