TOPy[W > TOP > JavaScriptɂ‚ > JavaScript̕@ > p
@wywm@z[y[W

@@wywm@@
@|JavaScripťp|@@
ŏIXVF2024N1229

@NX쐬ƂÃ\bhAvpeBŜł͑ςȂ̂ŁAJavaScriptł́ApƌĂ΂@pāAʂ̃NX̋@\p悤ɂ܂Bȉ̗ł́AOo^personƂNXƁAOAX֔ԍAZAdbԍo^address2‚̃NXANXpersongNXaddresśANXperson̎qNXƂ܂Bȉł́Å֌W𖾎̂ɁAextendspāAclass address extends personƋLqĂ܂BƁANXaddresśANXpersoñ\bhƃvpeBp邱Ƃł܂B

@܂ApersoñCX^Xׂzpersonsaddress̃CX^XׂzaddressespӂAindexvpeBݒ肷邽߂ɁApersonsp̃JE^count1ƁAaddressesp̃JE^count2pӂ܂Bcount1count2́AꂼApersonaddress̃CX^X𐶐Ƃ1‘Azpersonsaddresses̓YƂȂ܂B

@NXpersonconstructoŕAOĂnameƂāAnamevpeBindexvpeBɖOƔԍݒ肵AzpersonspersoñCX^Xgo^܂BNXpersońApersons̒CX^XTz̓Y(indexvpeBł͂ȂYAindexƈvĂ͂ł)Ԃsearch1Ƃ\bhƁACX^XindexvpeBnamevpeB\show1Ƃ\bhĂ܂B

@NXaddressconstructoŕAOAX֔ԍAZAdbԍƂAOɂ‚ẮAeNXconstructor(super()ƋLq܂AqNXconstructorł́AKŏsuper()Ăяo܂)namenāAnamevpeBo^܂B̌ANXaddresspostcodevpeBAaddressvpeBAtelnovpeBɁAX֔ԍAZAdbԍݒ肵Azaddressesaddress̃CX^Xgo^܂BNXaddresśACX^XTsearch1ƁACX^X̓e\show1Ƃ\bhĂ܂B

@eNXpersonƎqNXaddressshow1search1̃\bhLĂ悤Ɍ܂Aaddressshow1́Apersonshow1㏑Ă܂Baddresssearch1̒ł́Asuper.search1()Ƃ(\bh̒ł́AeNX̃\bhgƂ"super."t܂)eNXsearch1\bh𗘗p悤ɂȂĂAaddresssearch1͔zpersonsɂYƁAzaddressesɂY̗zŕԂ悤ɂȂĂ܂B̂悤JavaScriptł́AeNX̃\bh㏑邱ƂA܂̂܂ܗp邱Ƃł悤ɂȂĂ܂B
@p@\mFȉɎ܂BHTMLt̃\[XER[h(Google Chromeŕ\[F12]ŊJc[N\[X\Ă)B
class person {
constructor(name) {
this.name = name;
this.index = count1;
persons.push(this);
count1++;
}
search1() {
var i1 = persons.findIndex((a6) => a6.name === this.name);
return i1;
}
show1() {
comment("person", this.index, this.name);
}
}
class address extends person {
constructor(name, postcode, address, telno) {
super(name);
this.postcode = postcode;
this.address = address;
this.telno = telno;
this.index = count2;
addresses.push(this);
count2++;
}
search1() {
var i2 = super.search1();
var i3 = addresses.findIndex((a7) => a7.name === this.name);
return [i2, i3];
}
show1() {
comment("address", this.index, this.name, "" + this.postcode, this.address, this.telno);
}
}
var count1 = 0;
var count2 = 0;
var persons = [];
var addresses = [];
var p1 = new person("–؈Y");
p1.show1();
var a8 = new address("Ԏq", "104-0061", "s9-12-15", "03-6229-33XX");
a8.show1();
var a9 = new address("cY", "231-0005", "_ސ쌧ls{7-11-5", "045-203-27YY");
a9.show1();
var p2 = new person("]Nq");
p2.show1();
var i4 = p2.search1();
comment("search1(p)", persons[i4].index, persons[i4].name);
var a10 = a9.search1();
comment("search1(a)", persons[a10[0]].index, persons[a10[0]].name, addresses[a10[1]].index, addresses[a10[1]].name);
function comment(...ar1) {
var com1 = "";
for (var arg of ar1) {
var type1 = typeof(arg);
if (com1.length > 0) {
com1 = com1 + ', ';
}
if (type1 == "number") {
com1 = com1 + String(arg);
}
else if (type1 == "boolean") {
if (arg) {
com1 = com1 + "true";
}
else {
com1 = com1+ "false";
}
}
else if (type1 == "object") {
com1 = com1 + 'obj:' + arg.name;
}
else if (type1 == "function") {
com1 = com1 + 'func:' + arg.name;
}
else {
com1 = com1 + arg;
}
}
alert(com1);
}

@LŁAcomment֐́Aɕ񂾃f[^(‚邩킩Ȃ̂ŁAc]...ar1𗘗pĂ܂)^Cvɍ킹ĕ\܂BNXpersonshow1ANXaddressshow1Acomment֐𗘗pĂ܂B

@Lł́A–؂A]̖OCコƏc̖OƏZo^āAo^e\A܂ACX^X̒Ťʂs\悤ɂȂĂ܂B


TOPy[Wɖ߂@@
TOP@@
wywmē@@
w̃y[W@@
̃y[W@@
yVuO@@
wywmuO@@
wywmtwitter@@
񍐃uO@@
vCoV[E|V[


yLz@LłB̊F܂̂x肽A낵肢܂B
yLz@L͂܂łłB

© 2005-2025@F(L)