JavaScript ã¯ããªãã¸ã§ã¯ããã¼ã¹ã®æ çµã¿ã§è¨è¨ããã¦ãã¾ãããªãã¸ã§ã¯ãã¯ããããã£ã®éã¾ãã§ãããããããã£ã¯åå (ãããã¯ããã¼ã) ã¨å¤ã¨ã®é¢é£ä»ãããæãç«ã£ã¦ãã¾ããããããã£ã®å¤ã颿°ã«ãããã¨ãã§ãããã®å ´åã¯ããããã£ã¯ã¡ã½ããã¨å¼ã°ãã¾ãã
ä»ã®å¤ãã®ããã°ã©ãã³ã°è¨èªã¨åæ§ã JavaScript ã«ããããªãã¸ã§ã¯ãããç¾å®ä¸çã®ããã®ã (ããªãã¡ãªãã¸ã§ã¯ã) ã«ãªãããããã¨ãã§ãã¾ãã JavaScript ã§ã¯ããªãã¸ã§ã¯ãã¯ããããã£ã¨åãæã¤ç¬ç«ããåå¨ã§ããã³ãããä¾ã«èãã¦ã¿ã¾ããããã³ããã¯ãã®ï¼ãªãã¸ã§ã¯ãï¼ã§ããããã¾ãã¾ãªç¹æ§ï¼ããããã£ï¼ãæã£ã¦ãã¾ããã³ããã«ã¯è²ããã¶ã¤ã³ãéããç´ æãªã©ãããã¾ããåæ§ã«ã JavaScript ãªãã¸ã§ã¯ãã«ãããããã£ãåå¨ãããããã®ç¹æ§ãå®ç¾©ãã¾ãã
ãã©ã¦ã¶ã¼ã§äºåã«å®ç¾©ããã¦ãããªãã¸ã§ã¯ãã«å ãã¦ãèªåèªèº«ã§ãªãã¸ã§ã¯ããå®ç¾©ãããã¨ãã§ãã¾ãããã®ç« ã§ã¯ããªãã¸ã§ã¯ããããããã£ãã¡ã½ããã®ä½¿ç¨æ¹æ³ã¨ãèªåèªèº«ã§ãªãã¸ã§ã¯ãã使ããæ¹æ³ã«ã¤ãã¦èª¬æãã¾ãã
æ°ãããªãã¸ã§ã¯ãã®ä½æãªãã¸ã§ã¯ãã¯ãªãã¸ã§ã¯ãåæååã使ã£ã¦ä½æãããã¨ãã§ãã¾ããä»ã«ããã¾ãã³ã³ã¹ãã©ã¯ã¿ã¼é¢æ°ãä½ãããã®é¢æ°ã new
æ¼ç®åã¨ã®çµã¿åããã§å¼ã³åºããã¨ã§ãªãã¸ã§ã¯ããã¤ã³ã¹ã¿ã³ã¹åãããã¨ãã§ãã¾ãã
ãªãã¸ã§ã¯ãåæååã¯ããªãã¸ã§ã¯ããªãã©ã«ãã¨ãå¼ã°ãã¾ããããªãã¸ã§ã¯ãåæååãã¯ãC++ ã§ä½¿ãããç¨èªã¨åãæå³ã§ãã
ãªãã¸ã§ã¯ãåæååã使ã£ããªãã¸ã§ã¯ãã®æ§æã¯æ¬¡ã®ããã«ãªãã¾ãã
const obj = {
property1: value1, // property_# ã¯èå¥åã ã£ããã
2: value2, // æ°å¤ã ã£ããã
"property n": value3, // æååã ã£ãããã¾ã
};
ã³ãã³ã®åã®åããããã£åã¯èå¥åï¼ååãæ°å¤ãæååãªãã©ã«ã®ããããï¼ã§ãããããããã® valueN
ã¯ãããããã£åã«å²ãå½ã¦ãå¤ã¨ãªãå¼ã§ããããããã£åãå¼ã«ãããã¨ãã§ãã¾ããè¨ç®ããããã¼ã¯ãè§æ¬å¼§ã§å²ãå¿
è¦ãããã¾ãããªãã¸ã§ã¯ãåæååã®ãªãã¡ã¬ã³ã¹ã«ã¯ãæ§æã«ã¤ãã¦ãã詳細ãªèª¬æãè¨è¼ããã¦ãã¾ãã
ãã®ä¾ã§ã¯ãæ°ãã使ããããªãã¸ã§ã¯ãã夿° obj
ã«ä»£å
¥ããã¦ãã¾ããããã¯ãªãã·ã§ã³ã§ãããã®ãªãã¸ã§ã¯ããä»ã®å ´æã§åç
§ããå¿
è¦ããªãå ´åã¯ã夿°ã«å²ãå½ã¦ãå¿
è¦ã¯ããã¾ãããï¼ãªãã¸ã§ã¯ããæã¨ãã¦è¡¨ç¤ºãããå ´åã¯ããªãã¸ã§ã¯ããªãã©ã«ãæ¬å¼§ã§å²ãå¿
è¦ãããå ´åãããã¾ããããããªãã¨ããªãã©ã«ããããã¯æã¨æ··åãããå¯è½æ§ãããã¾ããï¼
ãªãã¸ã§ã¯ãåæååã¯å¼ã§ããããªãã¸ã§ã¯ãåæååã¯ããããç¾ããæãå®è¡ããããã³ã«ãæ°ãããªãã¸ã§ã¯ãã使ãã¾ããåä¸ã®ãªãã¸ã§ã¯ãåæååã¯ãä»ã«ãç°ãªããªãã¸ã§ã¯ãã使ãã¾ãããããããæ¯è¼ãã¦ãçããã¯ãªãã¾ããã
æ¬¡ã®æã§ã¯ãå¼ cond
ã true ã®å ´åã«ã®ã¿ãªãã¸ã§ã¯ããä½ãã夿° x
ã«ä»£å
¥ãã¾ãã
let x;
if (cond) {
x = { greeting: "hi there" };
}
次ã®ä¾ã§ã¯ 3 ã¤ã®ããããã£ãæã£ã myHonda
ãä½ãã¾ãããªããengine
ããããã£ãã¾ããããããã£ãæã¤ãªãã¸ã§ã¯ãã§ãã
const myHonda = {
color: "red",
wheels: 4,
engine: { cylinders: 4, size: 2.2 },
};
åæååã§ä½æããããªãã¸ã§ã¯ãã¯ã Object
ã®ã¤ã³ã¹ã¿ã³ã¹ã§ã¯ãããã®ã®ãä»ã®ãªãã¸ã§ã¯ãåã§ã¯ãªãããããã¬ã¼ã³ãªãã¸ã§ã¯ãã¨å¼ã°ãã¾ãã ãªãã¸ã§ã¯ãåã®ä¸ã«ã¯ãç¹å¥ãªåæååæ§æãä¿æãããã®ãããã¾ããä¾ãã°ãé
ååæååãæ£è¦è¡¨ç¾ãªãã©ã«ãªã©ã§ãã
å¥ã®æ¹æ³ã¨ãã¦ã次㮠2 段éã§ãªãã¸ã§ã¯ããä½ããã¨ãã§ãã¾ãã
new
ã§ãªãã¸ã§ã¯ãã®ã¤ã³ã¹ã¿ã³ã¹ã使ãã¾ãããªãã¸ã§ã¯ãã®åãå®ç¾©ããã«ã¯ãååãããããã£ãã¡ã½ãããæå®ãããªãã¸ã§ã¯ãåç¨ã®é¢æ°ãä½ãã¾ããä¾ãã°ãè»ã«ã¤ãã¦ã®ãªãã¸ã§ã¯ãåãä½ãããã¨ãã¾ãããããã®ãªãã¸ã§ã¯ãå㯠Car
ã¨å¼ã°ããmakeãmodelãyear ã®ããããã£ãæããããã¨ãã¾ãããããè¡ãã«ã¯ã以ä¸ã®ãããªé¢æ°ãæ¸ãã¾ãã
function Car(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
this
ã使ããã¨ã§ã颿°ã«æ¸¡ããããªãã¸ã§ã¯ãã®ããããã£ã«å¯¾ãå¤ã代å
¥ãã¦ãããã¨ã«æ³¨æãã¦ãã ããã
以ä¸ã®ããã«ã㦠myCar
ã¨å¼ã°ãããªãã¸ã§ã¯ãã使ã§ããããã«ãªãã¾ããã
const myCar = new Car("Eagle", "Talon TSi", 1993);
ãã®æã¯ myCar
ã使ããããããã£ã¨ãã¦æå®ããå¤ã代å
¥ãã¾ãã ããã¨ãmyCar.make
ã®å¤ã¯æåå "Eagle"ã myCar.model
ã¯æåå "Talon TSi"
ãmyCar.year
ã¯æ´æ° 1993
ã¨ãã£ãå
·åã«ãªãã¾ãã仮弿°ã¨å¼æ°ã®é åºã¯åãã§ããå¿
è¦ãããã¾ãã
Car
ãªãã¸ã§ã¯ã㯠new
ãå¼ã³åºããã¨ã§ããã¤ã§ãä½ããã¨ãã§ãã¾ããä¾ãã°ã
const randCar = new Car("Nissan", "300ZX", 1992);
const kenCar = new Car("Mazda", "Miata", 1990);
ãªãã¸ã§ã¯ãã¯ãå¥ã®ãªãã¸ã§ã¯ããããããã£ã¨ãã¦æã¤ãã¨ãã§ãã¾ããä¾ãã°ãPerson
ã¨ããååã®ãªãã¸ã§ã¯ããæ¬¡ã®ããã«å®ç¾©ãã¾ãããã
function Person(name, age, sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
ããããã2 åã®æ°ãã Person
ãªãã¸ã§ã¯ããæ¬¡ã®ããã«ã¤ã³ã¹ã¿ã³ã¹åãã¾ãã
const rand = new Person("Rand McKinnon", 33, "M");
const ken = new Person("Ken Jones", 39, "M");
ããã¦ãCar
ã®å®ç¾©ã Person
ãªãã¸ã§ã¯ããåã owner
ããããã£ãå«ãããã以ä¸ã®ããã«æ¸ãæãããã¨ãã§ãã¾ãã
function Car(make, model, year, owner) {
this.make = make;
this.model = model;
this.year = year;
this.owner = owner;
}
æ°ãããªãã¸ã§ã¯ããã¤ã³ã¹ã¿ã³ã¹åããã«ã¯ã以ä¸ã®ããã«ãã¾ãã
const car1 = new Car("Eagle", "Talon TSi", 1993, rand);
const car2 = new Car("Nissan", "300ZX", 1992, ken);
æ°ãããªãã¸ã§ã¯ãã使ããéãä¸ã®æã§ã¯ãªãã©ã«æååãæ´æ°å¤ã渡ã代ããã«ããªãã¸ã§ã¯ã rand
㨠ken
ã弿° owner ã¨ãã¦æ¸¡ãã¦ãããã¨ã«æ³¨æãã¦ãã ãããããã¦ã car2
ã® owner ã®ååãç¥ããããã°ã以ä¸ã®ããããã£ã§ã¢ã¯ã»ã¹ã§ãã¾ãã
ãªããæ¢ã«å®ç¾©ããããªãã¸ã§ã¯ãã«ã¯ãã¤ã§ãããããã£ã追å ãããã¨ãã§ãã¾ããä¾ãã°ã以ä¸ã®æã¯ã
car1 ã«ãããã㣠color
ã追å ããããã« "black" ã¨ããå¤ã代å
¥ãã¾ããããããªãããããã¯ä»ã®ã©ã®ãªãã¸ã§ã¯ãã«ãå½±é¿ãã¾ãããåãåã®ãã¹ã¦ã®ãªãã¸ã§ã¯ãã«æ°ããããããã£ã追å ããã«ã¯ãCar
ãªãã¸ã§ã¯ãåã®å®ç¾©ã«ãã®ããããã£ã追å ããå¿
è¦ãããã¾ãã
ã³ã³ã¹ãã©ã¯ã¿ã¼é¢æ°ãå®ç¾©ããéã«ã颿°æ§æã®ä»£ããã« class
æ§æã使ç¨ãããã¨ãã§ãã¾ãã 詳細ã«ã¤ãã¦ã¯ãã¯ã©ã¹ã¬ã¤ããåç
§ãã¦ãã ããã
ãªãã¸ã§ã¯ã㯠Object.create()
ã¡ã½ããã使ç¨ãã¦ä½æãããã¨ãã§ãã¾ãããã®ã¡ã½ããã¯ãã³ã³ã¹ãã©ã¯ã¿ã¼é¢æ°ãå®ç¾©ããã«ä½ããããªãã¸ã§ã¯ãã®ãããã¿ã¤ããé¸ã¹ããããã¨ã¦ã便å©ã§ãã
// Animal ã®ããããã£ã¨ã¡ã½ãããã«ãã»ã«å
const Animal = {
type: "Invertebrates", // ããããã£ã®æ¢å®å¤ããç¡èæ¤åç©ã
displayType() {
// Animal ã®ç¨®é¡ã表示ããã¡ã½ãã
console.log(this.type);
},
};
// animal1 ã¨ããæ°ãã animal åã使
const animal1 = Object.create(Animal);
animal1.displayType(); // åºå : Invertebrates
// Fishes ã¨ããæ°ãã animal åã使
const fish = Object.create(Animal);
fish.type = "Fishes";
fish.displayType(); // åºå : Fishes
ãªãã¸ã§ã¯ãã¨ããããã£
JavaScript ãªãã¸ã§ã¯ãã«ã¯ãé¢é£ä»ããããããããã£ãããã¾ãããªãã¸ã§ã¯ãã®ããããã£ã¯ãåºæ¬çã«å¤æ°ã¨åãã§ãããã¹ã³ã¼ãã§ã¯ãªããªãã¸ã§ã¯ãã«é¢é£ä»ãããã¦ããã¨ããç¹ãç°ãªãã¾ãããªãã¸ã§ã¯ãã®ããããã£ã¯ããªãã¸ã§ã¯ãã®ç¹æ§ãå®ç¾©ãã¾ãã
ä¾ãã°ããã®ä¾ã§ã¯ myCar
ã¨ããååã®ãªãã¸ã§ã¯ãã¨ãmake
ãmodel
ãyear
ã¨ããååã®ããããã£ã使ãããããã "Ford"
ã"Mustang"
ã1969
ã¨ããå¤ãè¨å®ãã¾ãã
const myCar = {
make: "Ford",
model: "Mustang",
year: 1969,
};
JavaScript ã®å¤æ°ã¨åæ§ã«ãããããã£åã¯å¤§æåã¨å°æåãåºå¥ããã¾ããããããã£åã¯æååã¾ãã¯ã·ã³ãã«ã®ã¿ã§ããã·ã³ãã«ã§ãªãéãããã¹ã¦ã®ãã¼ã¯æååã«å¤æããã¾ããé åã®æ·»åã¯ãå®éã«ã¯ãæååãã¼ã«æ´æ°ãæ ¼ç´ãããããããã£ã§ãã
ããããã£ã®ã¢ã¯ã»ã¹ãªãã¸ã§ã¯ãã®ããããã£ã¯ãããããã£åã§ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ããããããã£ã®ã¢ã¯ã»ãµã¼ã«ã¯ããããè¨æ³ãã¨ããã©ã±ããè¨æ³ãã® 2 ã¤ã®æ§æãããã¾ããä¾ãã°ãmyCar
ãªãã¸ã§ã¯ãã®ããããã£ã«æ¬¡ã®ããã«ã¢ã¯ã»ã¹ã§ãã¾ãã
// ãããè¨æ³
myCar.make = "Ford";
myCar.model = "Mustang";
myCar.year = 1969;
// ãã©ã±ããè¨æ³
myCar["make"] = "Ford";
myCar["model"] = "Mustang";
myCar["year"] = 1969;
ãªãã¸ã§ã¯ãã®ããããã£åã«ã¯ããããã JavaScript æååï¼ç©ºæååãå«ãï¼ã¾ãã¯ã·ã³ãã«ã«ãããã¨ãã§ãã¾ãããããã JavaScript ã®æå¹ãªèå¥åã§ã¯ãªãååã®ããããã£ã«ã¢ã¯ã»ã¹ããã«ã¯ããããè¨æ³ã使ç¨ãããã¨ã¯ã§ãã¾ãããä¾ãã°ã空ç½ããã¤ãã³ãå«ãããããã£åãæ°åã§å§ã¾ãããããã£åãã¾ãã¯å¤æ°å ã«ä¿æããã¦ããããããã£åã¯ããã©ã±ããè¨æ³ã使ç¨ãã¦ã®ã¿ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ãããã®è¨æ³ã¯ãããããã£åãåçã«æ±ºå®ãããå ´åãããªãã¡å®è¡æã¾ã§æ±ºå®ã§ããªãå ´åã«ã¨ã¦ã便å©ã§ããä¾ãã°ã次ã®ããã«ãªãã¾ãã
const myObj = {};
const str = "myString";
const rand = Math.random();
const anotherObj = {};
// Create additional properties on myObj
myObj.type = "type ã¨ããååã®ãã¼ã«å¯¾ãããããè¨æ³";
myObj["date created"] = "ãã®ãã¼ã¯ç©ºç½ãå«ã";
myObj[str] = "ãã®ãã¼ã¯å¤æ° str ã«å
¥ã£ã¦ãã";
myObj[rand] = "ããã§ã¯ä¹±æ°ããã¼ã§ãã";
myObj[anotherObj] = "ãã®ãã¼ã¯ anotherObj ãªãã¸ã§ã¯ã";
myObj[""] = "ãã®ãã¼ã¯ç©ºæåå";
console.log(myObj);
// {
// type: 'type ã¨ããååã®ãã¼ã«å¯¾ãããããè¨æ³',
// 'date created': 'ãã®ãã¼ã¯ç©ºç½ãå«ã',
// myString: 'ãã®ãã¼ã¯å¤æ° str ã«å
¥ã£ã¦ãã',
// '0.6398914448618778': 'ããã§ã¯ä¹±æ°ããã¼ã§ãã',
// '[object Object]': 'ãã®ãã¼ã¯ anotherObj ãªãã¸ã§ã¯ã',
// '': 'ãã®ãã¼ã¯ç©ºæåå'
// }
console.log(myObj.myString); // 'ãã®ãã¼ã¯å¤æ° str ã«å
¥ã£ã¦ãã'
ä¸ã®ã³ã¼ãã§ã¯ããã¼ anotherObj
ã¯ãªãã¸ã§ã¯ãã§ãããæååã§ãã·ã³ãã«ã§ãããã¾ããã ããã myObj
ã«è¿½å ãããã¨ã JavaScript 㯠toString()
ã¡ã½ããã anotherObj
ã«å¯¾ãã¦å¼ã³åºãããã®çµæã®æååãæ°ãããã¼ã¨ãã¦ä½¿ç¨ãã¾ãã
ã¾ãã夿°ã«æ ¼ç´ãããæååã使ç¨ãã¦ããããã£ã«ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ãã 夿°ã¯ãã©ã±ããè¨æ³ã§æ¸¡ãå¿
è¦ãããã¾ãã ä¸è¨ã®ä¾ã§ã¯ã夿° str
ã« "myString"
ãæ ¼ç´ããã¦ãããããããã£å㯠"myString"
ã§ãã ãããã£ã¦ã myObj.str
㯠undefined ãè¿ãã¾ãã
str = "myString";
myObj[str] = "ãã®ãã¼ã¯å¤æ° str ã«å
¥ã£ã¦ãã";
console.log(myObj.str); // undefined
console.log(myObj[str]); // 'ãã®ãã¼ã¯å¤æ° str ã«å
¥ã£ã¦ãã'
console.log(myObj.myString); // 'ãã®ãã¼ã¯å¤æ° str ã«å
¥ã£ã¦ãã'
ããã«ãããå®è¡æã«æ±ºå®ãããä»»æã®ããããã£ã«ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ãã
let propertyName = "make";
myCar[propertyName] = "Ford";
// 夿°ã®ã³ã³ãã³ãã夿´ãããã¨ã§ããã¾ãã¾ãªããããã£ã«ã¢ã¯ã»ã¹ãã
propertyName = "model";
myCar[propertyName] = "Mustang";
console.log(myCar); // { make: 'Ford', model: 'Mustang' }
ãã ããå¤é¨ããã®å ¥åã§æå®ãããååã®ããããã£ã«ã¢ã¯ã»ã¹ããããã«ãã©ã±ããã使ç¨ãããã¨ã«ã¯æ³¨æãå¿ è¦ã§ããããã«ãããã³ã¼ãããªãã¸ã§ã¯ãã¤ã³ã¸ã§ã¯ã·ã§ã³æ»æã許ãããããªãå¯è½æ§ãããã¾ãã
ãªãã¸ã§ã¯ãã«åå¨ããªãããããã£ã®å¤ã¯ undefined
ã§ãï¼null
ã§ã¯ããã¾ããï¼ã
myCar.nonexistentProperty; // undefined
ããããã£ã®åæ
ãªãã¸ã§ã¯ãã®ããããã£ãåæ/èµ°æ»ãããã¤ãã£ãã®æ¹æ³ã¯ 3 ã¤ããã¾ãã
for...in
ã«ã¼ãããã®æ¹æ³ã§ã¯ããªãã¸ã§ã¯ãã®åæå¯è½ãªæååããããã£ãã¹ã¦ã¨ãããã¿ã¤ããã§ã¼ã³ããã¹ã¦èµ°æ»ãã¾ããObject.keys()
ããã®ã¡ã½ããã¯ããªãã¸ã§ã¯ã myObj
å
ã®èªåèªèº«ã§æååã®ããããã£åï¼ããã¼ãï¼ãé
åã§è¿ãã¾ããããããã¿ã¤ããã§ã¼ã³å
ã®ãã®ã¯è¿ãã¾ãããObject.getOwnPropertyNames()
ããã®æ¹æ³ã§ã¯ããªãã¸ã§ã¯ã myObj
å
ã®èªåèªèº«ã®æååããããã£åããã¹ã¦å«ãé
åãè¿ãã¾ãããã ããããããåæå¯è½ãã©ããã¯é¢ä¿ããã¾ããããã©ã±ããè¨æ³ãç¨ã㦠for...in
ã§ãªãã¸ã§ã¯ãã®åæå¯è½ãªããããã£ãã¹ã¦ãèµ°æ»ãããã¨ãã§ãã¾ããã©ã®ããã«åä½ãããã説æããããã以ä¸ã«ãªãã¸ã§ã¯ãã¨ãªãã¸ã§ã¯ãåã弿°ã¨ãã¦æ¸¡ãã¨ããªãã¸ã§ã¯ãã®ããããã£ã表示ãã颿°ã示ãã¾ãã
function showProps(obj, objName) {
let result = "";
for (const i in obj) {
// Object.hasOwn() ã¯ããªãã¸ã§ã¯ãã®ãããã¿ã¤ããã§ã¼ã³ããã®ããããã£ãé¤ãããèªåèªèº«ã®ããããã£ãã®ã¿ã表示ãããããã«ä½¿ç¨ããã¦ãã
if (Object.hasOwn(obj, i)) {
result += `${objName}.${i} = ${obj[i]}\n`;
}
}
console.log(result);
}
ãèªåèªèº«ã®ããããã£ãã¨ã¯ããªãã¸ã§ã¯ãã®ããããã£ãæãã¾ããããããã¿ã¤ããã§ã¼ã³ã®ããããã£ã¯é¤ãã¾ãã 颿°å¼ã³åºã showProps(myCar, 'myCar')
ã¯ã次ã®ããã«ãªãã¾ãã
myCar.make = Ford myCar.model = Mustang myCar.year = 1969
ä¸è¨ã®ãã®ã¯æ¬¡ã®ãã®ã¨åçã§ãã
function showProps(obj, objName) {
let result = "";
Object.keys(obj).forEach((i) => {
result += `${objName}.${i} = ${obj[i]}\n`;
});
console.log(result);
}
ç¶æ¿ãããåæå¯è½ã§ãªãããããã£ãåæãããã¤ãã£ãã®æ¹æ³ã¯ããã¾ããããã ããæ¬¡ã®é¢æ°ã§å®ç¾ãããã¨ãã§ãã¾ãã
function listAllProperties(myObj) {
let objectToInspect = myObj;
let result = [];
while (objectToInspect !== null) {
result = result.concat(Object.getOwnPropertyNames(objectToInspect));
objectToInspect = Object.getPrototypeOf(objectToInspect);
}
return result;
}
詳ããã¯ãããããã£ã®åæå¯è½æ§ã¨æææ¨©ãåç §ãã¦ãã ããã
ããããã£ã®åé¤ç¶æ¿ããããã®ã§ãªãããããã£ã¯ã delete
æ¼ç®åã使ã£ã¦åé¤ã§ãã¾ãã以ä¸ã®ã³ã¼ãã¯ããããã£ãåé¤ããæ¹æ³ã§ãã
// 2 ã¤ã®ãããã㣠a 㨠b ãæã¤æ°ãããªãã¸ã§ã¯ã myobj ã使ã
const myObj = new Object();
myObj.a = 5;
myObj.b = 12;
// ãããã㣠a ãåé¤ããã¨ãmyobj ã«ã¯ b ããããã£ã ããæ®ãã
delete myObj.a;
console.log("a" in myObj); // false
ç¶æ¿
JavaScript ã®ãã¹ã¦ã®ãªãã¸ã§ã¯ãã¯ã1 ã¤ä»¥ä¸ã®ä»ã®ãªãã¸ã§ã¯ããç¶æ¿ãã¦ãã¾ããç¶æ¿å
ã«ãªããªãã¸ã§ã¯ãã¯ãããã¿ã¤ãã¨å¼ã°ããç¶æ¿ãããããããã£ã¯ã³ã³ã¹ãã©ã¯ã¿ã¼ã® prototype
ãªãã¸ã§ã¯ãã«ããã¾ãã詳細ã¯ç¶æ¿ã¨ãããã¿ã¤ããã§ã¼ã³ãåç
§ãã¦ãã ããã
ç¹å®ã®ã³ã³ã¹ãã©ã¯ã¿ã¼ã§ä½æããããã¹ã¦ã®ãªãã¸ã§ã¯ãã«å¯¾ãã¦ããããã£ã追å ããã«ã¯ã prototype
ããããã£ã使ç¨ãã¾ããããããã¨ããªãã¸ã§ã¯ãã® 1 ã¤ã®ã¤ã³ã¹ã¿ã³ã¹ã ãã§ãªããç¹å®ã®åã®ãªãã¸ã§ã¯ããã¹ã¦ã§å
±æãããããããã£ãå®ç¾©ãããã¨ãã§ãã¾ããæ¬¡ã®ã³ã¼ã㯠color
ããããã£ããã¹ã¦ã® Car
åã®ãªãã¸ã§ã¯ãã«è¿½å ãããã®ããããã£ã®å¤ã car1
ã¤ã³ã¹ã¿ã³ã¹ããèªã¿åã£ã¦ãã¾ãã
Car.prototype.color = "red";
console.log(car1.color); // "red"
ã¡ã½ããã®å®ç¾©
ã¡ã½ããã¯ããªãã¸ã§ã¯ãã«é¢é£ä»ãããã颿°ã§ããç°¡åã«è¨ãã°ããªãã¸ã§ã¯ãã®ããããã£ã§ãã颿°ã§ããã¡ã½ããã¯é常ã®é¢æ°ã¨åãæ¹æ³ã§å®ç¾©ããã¾ããããªãã¸ã§ã¯ãã®ããããã£ã«ä»£å ¥ãããç¹ãç°ãªãã¾ãã詳細ã¯ã¡ã½ããã®å®ç¾©ãåç §ãã¦ãã ãããä¾ãã°ã
objectName.methodName = functionName;
const myObj = {
myMethod: function (params) {
// ...å¦çãè¡ã
},
// ããã§ãåä½ãã¾ã
myOtherMethod(params) {
// ...ä»ã®å¦çãè¡ã
},
};
ããã§ objectName
ã¯æ¢åã®ãªãã¸ã§ã¯ãããmethodName
ã¯ã¡ã½ãããå²ãå½ã¦ããååããfunctionName
ã¯é¢æ°ã®ååãæãã¦ãã¾ãã
次ã«ããã®ãªãã¸ã§ã¯ãã®ã³ã³ããã¹ãã§ã¡ã½ãããå¼ã³åºããã¨ãã§ãã¾ããæ¬¡ã®ããã«ãªãã¾ãã
objectName.methodName(params);
ã¡ã½ããã¯é常ãã³ã³ã¹ãã©ã¯ã¿ã¼ã® prototype
ãªãã¸ã§ã¯ãã§å®ç¾©ãããåãåã®ãªãã¸ã§ã¯ããã¹ã¦ãåãã¡ã½ãããå
±æããããã«ãã¾ããä¾ãã°ãååå®ç¾©ãã Car
ãªãã¸ã§ã¯ãã®ããããã£ãæ¸å¼åãã¦è¡¨ç¤ºãã颿°ãå®ç¾©ãããã¨ãã§ãã¾ãã
Car.prototype.displayCar = function () {
const result = `ç¾ãã ${this.year} å¹´å¼ã® ${this.make} ${this.model}`;
console.log(result);
};
ã¡ã½ãããå±ãããªãã¸ã§ã¯ããåç
§ããéã« this
ã使ç¨ããã¦ãããã¨ã«æ³¨ç®ãã¦ãã ãããæ¬¡ã®ããã«ãã¦ãåã
ã®ãªãã¸ã§ã¯ãã«å¯¾ã㦠displayCar
ã¡ã½ãããå¼ã³åºãã¾ãã
car1.displayCar();
car2.displayCar();
ãªãã¸ã§ã¯ãåç
§ã®ããã® this ã®ä½¿ç¨
JavaScript ã«ã¯ãã¡ã½ããå
ã§ç¾å¨ã®ãªãã¸ã§ã¯ããåç
§ããããã® this
ã¨ããç¹å¥ãªãã¼ã¯ã¼ããããã¾ãã以ä¸ã®ä¾ã«ã¯ãManager
㨠Intern
ã¨ãã 2 ã¤ã®ãªãã¸ã§ã¯ããããããããããç¬èªã® name
, age
, job
ãæã£ã¦ãã¾ãã颿° sayHi()
ã®ä¸ã« this.name
ããããã¨ã«æ³¨ç®ãã¦ãã ããã 2 ã¤ã®ãªãã¸ã§ã¯ãã«è¿½å ããã¨ãåã颿°ã§ãããããã«æ·»ä»ããããªãã¸ã§ã¯ãã®ååä»ãã¡ãã»ã¼ã¸ãåºåããã¾ãã
const Manager = {
name: "Karina",
age: 27,
job: "Software Engineer",
};
const Intern = {
name: "Tyrone",
age: 21,
job: "Software Engineer Intern",
};
function sayHi() {
console.log(`Hello, my name is ${this.name}`);
}
// 両æ¹ã®ãªãã¸ã§ã¯ãã« sayHi 颿°ã追å
Manager.sayHi = sayHi;
Intern.sayHi = sayHi;
Manager.sayHi(); // Hello, my name is Karina
Intern.sayHi(); // Hello, my name is Tyrone
this
ã¯é¢æ°å¼ã³åºãã®ãé ã弿°ãã§ããã颿°ãå¼ã³åºãããåã«ãªãã¸ã§ã¯ããæå®ãããã¨ã«ãã£ã¦æ¸¡ããã¾ããä¾ãã°ã Manager.sayHi()
ã§ã¯ã this
㯠Manager
ãªãã¸ã§ã¯ãã§ãã Manager
ã¯é¢æ° sayHi()
ã®åã«æ¥ãããã§ããå¥ã®ãªãã¸ã§ã¯ãããåã颿°ã«ã¢ã¯ã»ã¹ããã¨ã this
ãåæ§ã«å¤æ´ããã¾ãã Function.prototype.call()
ã Reflect.apply()
ã®ãããªä»ã®ã¡ã½ããã使ç¨ãã¦é¢æ°ãå¼ã³åºãå ´åã this
ã®å¤ãæç¤ºçã«å¼æ°ã¨ãã¦æ¸¡ããã¨ãã§ãã¾ãã
ã²ãã¿ã¼ã¯ãããããã£ã«çµã³ä»ããããç¹å®ã®ããããã£ã®å¤ãåå¾ããã¡ã½ããã§ããã»ãã¿ã¼ã¯ãããããã£ã«çµã³ä»ããããç¹å®ã®ããããã£ã®å¤ãè¨å®ããã¡ã½ããã§ããçµã¿åãããã¨ãããããã£ã®å¤ã鿥çã«è¡¨ããã¨ãã§ãã¾ãã
ã²ãã¿ã¼ã¨ã»ãã¿ã¼ã¯æ¬¡ã®ã©ã¡ãã®æ¹æ³ã§ãä½ãã¾ãã
ãªãã¸ã§ã¯ãåæååã®ä¸ã§ã¯ãã²ãã¿ã¼ã¨ã»ãã¿ã¼ã¯ãé常ã®ã¡ã½ããã®ããã«å®ç¾©ãã¾ããããã®åã«ãã¼ã¯ã¼ã get
ã¾ã㯠set
ãã¤ãã¾ããã²ãã¿ã¼ã¡ã½ããã¯å¼æ°ãæ³å®ãã¦ã¯ããã¾ããããã»ãã¿ã¼ã¡ã½ããã¯æ£ç¢ºã« 1 ã¤ã®å¼æ°ï¼è¨å®ããæ°ããå¤ï¼ãæå¾
ãã¾ããä¾ãã°ã以ä¸ã®ããã«ãªãã¾ãã
const myObj = {
a: 7,
get b() {
return this.a + 1;
},
set c(x) {
this.a = x / 2;
},
};
console.log(myObj.a); // 7
console.log(myObj.b); // 8ã get b() ã¡ã½ããããè¿ããããã®
myObj.c = 50; // set c(x) ã¡ã½ãããå¼ã³åºã
console.log(myObj.a); // 25
myObj
ãªãã¸ã§ã¯ãã®ããããã£ã¯ä»¥ä¸ã®éãã§ãã
myObj.a
â æ°å¤myObj.b
â ã²ãã¿ã¼ã§ã myObj.a
+ 1 ãè¿ãmyObj.c
â ã»ãã¿ã¼ã§ã myObj.c
ã«è¨å®ãããå¤ã 1/2 ã«ãããã®ã myObj.a
ã«è¨å®ããã²ãã¿ã¼ã¨ã»ãã¿ã¼ã¯ã¾ãã Object.defineProperties()
ã¡ã½ããã使ç¨ãã¦ãçæå¾ã®ãªãã¸ã§ã¯ãã«ãã¤ã§ã追å ã§ãã¾ãããã®ã¡ã½ããã®ç¬¬ 1 弿°ã¯ã²ãã¿ã¼ã¾ãã¯ã»ãã¿ã¼ãå®ç¾©ãããªãã¸ã§ã¯ãã§ãã第 2 弿°ã¯ããããã£åãã²ãã¿ã¼ã¾ãã¯ã»ãã¿ã¼ã®ååã§ãããããã£å¤ãã²ãã¿ã¼ã¾ãã¯ã»ãã¿ã¼é¢æ°ãå®ç¾©ãããªãã¸ã§ã¯ãã§ããååã®ä¾ã¨åãã²ãã¿ã¼ã¨ã»ãã¿ã¼ãå®ç¾©ããä¾ãè¦ã¦ã¿ã¾ãããã
const myObj = { a: 0 };
Object.defineProperties(myObj, {
b: {
get() {
return this.a + 1;
},
},
c: {
set(x) {
this.a = x / 2;
},
},
});
myObj.c = 10; // 'a' ããããã£ã« 10 / 2 (5) ã代å
¥ããã»ãã¿ã¼ãå®è¡
console.log(myObj.b); // a + 1 ã¤ã¾ã 6 ãè¿ãã²ãã¿ã¼ãå®è¡
2 ã¤ã®æ¹æ³ã®ã©ã¡ããé¸ã¶ã®ãã¯ãèªèº«ã®ããã°ã©ãã³ã°ã¹ã¿ã¤ã«ãè¡ã£ã¦ãã使¥ã«ããã¾ãããã§ã«ãªãã¸ã§ã¯ãåæååãæ°ã«å ¥ã£ã¦ããã®ãªãããããã¿ã¤ãã®å®ç¾©æã«ã»ã¨ãã©ã®å ´åãæåã®æ¹æ³ãé¸ã¶ã§ãããããã®æ¹æ³ã¯ããç°¡æ½ã§èªç¶ã§ããããããªãããã²ãã¿ã¼ãã»ãã¿ã¼ãå¾ãã追å ããªããã°ãªããªãã¨ããä¾ãã°èªåããããã¿ã¤ãããªãã¸ã§ã¯ãã®è©³ç´°ãæ¸ãã¦ããªãå ´åã«ã¯ã2 çªç®ã®æ¹æ³ã ãã使ãã¾ãã2 çªç®ã®æ¹æ³ã«ã¯ JavaScript ã®åçãªæ§è³ªã表ç¾ããã¦ãã¾ãããã ããã³ã¼ããèªã¿ã«ããçè§£ãã¥ãããã®ã«ããå¯è½æ§ãããã¾ãã
ãªãã¸ã§ã¯ãã®æ¯è¼JavaScript ã§ã¯ããªãã¸ã§ã¯ãã¯åç §åã§ãã2 ã¤ã®ç°ãªããªãã¸ã§ã¯ãã¯ãåãããããã£ãæã£ã¦ãã¦ãçå¤ã¨ã¯è¦ãªããã¾ãããåããªãã¸ã§ã¯ãã¸ã®åç §ãæ¯è¼ããæã®ã¿çã¨ãªãã¾ãã
// 2 ã¤ã®å¤æ°ã¯ãåãããããã£ãæã¤ 2 ã¤ã®ç°ãªããªãã¸ã§ã¯ã
const fruit = { name: "apple" };
const anotherFruit = { name: "apple" };
fruit == anotherFruit; // false ãè¿ããã
fruit === anotherFruit; // false ãè¿ããã
// 2 ã¤ã®å¤æ°ããªãã¸ã§ã¯ã㯠1 ã¤
const fruit = { name: "apple" };
const anotherFruit = fruit; // anotherFruit ã« fruit ãªãã¸ã§ã¯ãã¸ã®åç
§ã代å
¥
// fruit 㨠anotherFruit ã¯åããªãã¸ã§ã¯ããæãã¦ãã
fruit == anotherFruit; // true ãè¿ããã
fruit === anotherFruit; // true ãè¿ããã
fruit.name = "grape";
console.log(anotherFruit); // { name: "apple" } ã§ã¯ãªã { name: "grape" } ã¨åºåããã
æ¯è¼æ¼ç®åã«ã¤ãã¦ã®è©³ç´°ã¯ãæ¯è¼æ¼ç®åãã覧ãã ããã
é¢é£æ å ±RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4