Baseline Widely available
instanceof
æ¼ç®åã¯ãããã³ã³ã¹ãã©ã¯ã¿ã¼ã® prototype
ããããã£ãããããªãã¸ã§ã¯ãã®ãããã¿ã¤ããã§ã¼ã³ã®ä¸ã®ã©ããã«ç¾ãããã©ãããæ¤æ»ãã¾ããè¿å¤ã¯è«çå¤ã§ãã
function Car(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
const auto = new Car("Honda", "Accord", 1998);
console.log(auto instanceof Car);
// Expected output: true
console.log(auto instanceof Object);
// Expected output: true
æ§æ
object instanceof constructor;
弿°
object
æ¤æ»ãããªãã¸ã§ã¯ãã§ãã
constructor
æ¤æ»å¯¾è±¡ã®é¢æ°ã§ãã
instanceof
æ¼ç®åã¯ãobject
ã®ãããã¿ã¤ããã§ã¼ã³ã« constructor.prototype
ãåå¨ãããã¨ãæ¤æ»ãã¾ãã
// ã³ã³ã¹ãã©ã¯ã¿ã¼ãå®ç¾©
function C() {}
function D() {}
let o = new C();
// true : Object.getPrototypeOf(o) === C.prototype ã§ãããã
o instanceof C;
// false : D.prototype 㯠o ã®ãããã¿ã¤ããã§ã¼ã³ã®ã©ãã«ãåå¨ããªããã
o instanceof D;
o instanceof Object; // true : ãªããªã...
C.prototype instanceof Object; // true ã§ãããã
C.prototype = {};
let o2 = new C();
o2 instanceof C; // true
// false : C.prototype 㯠o ã®ãããã¿ã¤ããã§ã¼ã³ã®
// ã©ãã«ãåå¨ããªããã
o instanceof C;
D.prototype = new C(); // ç¶æ¿ã使ç¨
let o3 = new D();
o3 instanceof D; // true
o3 instanceof C; // true : o3 ã®ãããã¿ã¤ããã§ã¼ã³ã« C.prototype ããããã
ãªãã instanceof
ã®å¤ã®æ¤æ»çµæã¯ã³ã³ã¹ãã©ã¯ã¿ã¼ã® prototype
ããããã£ãå¤åããã¨å¤ãããã¨ãããã¾ããã¾ãããªãã¸ã§ã¯ãã®ãããã¿ã¤ãã Object.setPrototypeOf
ãç¨ãã¦å¤æ´ããå ´åããæ¨æºå¤ã® __proto__
ããããã£ãç¨ããå ´åãå¤ãããã¨ãããã¾ãã
instanceof
ã¨è¤æ°ã®ã³ã³ããã¹ã (ä¾: frame ã window)
ã¹ã³ã¼ããç°ãªãã¨ãå®è¡ç°å¢ãå¤ããã¾ããã¤ã¾ããçµã¿è¾¼ã¾ãã¦ãããã®ãå¤ããã¾ãï¼å¥ã
ãªã°ãã¼ãã«ãªãã¸ã§ã¯ããå¥ã
ãªã³ã³ã¹ãã©ã¯ã¿ã¼ããªã©ï¼ãããã«ããäºæãã¬çµæã«ãªãå ´åãããã¾ããä¾ãã°ã[] instanceof window.frames[0].Array
㯠false
ãè¿ãã¾ãã Array.prototype !== window.frames[0].Array.prototype
ã§ãããé
åã¯åè
ãç¶æ¿ãã¦ããããã§ãã
ããã¯ãå§ãã¯ãããã«ããããããã¾ããããã¹ã¯ãªããã§è¤æ°ã®ãã¬ã¼ã ãã¦ã£ã³ãã¦ãæ±ãããªãã¸ã§ã¯ããããã³ã³ããã¹ãããå¥ã®ã³ã³ããã¹ãã¸é¢æ°ãçµç±ãã¦æ¸¡ãããã«ãªãã¨ãæ£å½ãã¤éè¦ãªäºé
ã«ãªãã¾ããä¾ãã°ãArray.isArray(myObj)
ã使ç¨ããã¨ãä¸ãããããªãã¸ã§ã¯ããå®éã«é
åã§ãããã©ãããå®å
¨ã«ãã§ãã¯ã§ãã¾ãã
ä¾ãã°ãå¥ã®ã³ã³ããã¹ãã§ Node ã SVGElement ã§ãããã©ããããã§ãã¯ããã«ã¯ãmyNode instanceof myNode.ownerDocument.defaultView.SVGElement
ã使ç¨ãã¦ãã ããã
以ä¸ã®ä¾ã§ã¯ã instanceof
ã String
ãªãã¸ã§ã¯ãã«ä½¿ç¨ããå ´åã®åä½ã示ãã¦ãã¾ãã
let literalString = "ããã¯æååãªãã©ã«ã§ã";
let stringObject = new String("ã³ã³ã¹ãã©ã¯ã¿ã¼ã§ä½æããã String ã§ã");
literalString instanceof String; // false : æååãªãã©ã«ã¯ String ã§ã¯ãªã
stringObject instanceof String; // true
literalString instanceof Object; // false : æååãªãã©ã«ã¯ Object ã§ã¯ãªã
stringObject instanceof Object; // true
stringObject instanceof Date; // false
instanceof ã Date ã«å¯¾ãã¦ä½¿ç¨
以ä¸ã®ä¾ã§ã¯ã instanceof
ã Date
ãªãã¸ã§ã¯ãã«ä½¿ç¨ããå ´åã®åä½ã示ãã¦ãã¾ãã
let myDate = new Date();
myDate instanceof Date; // true
myDate instanceof Object; // true
myDate instanceof String; // false
Object.create() ã§çæããã Object
以ä¸ã®ä¾ã§ã¯ã instanceof
ã Object.create()
ã§çæãããªãã¸ã§ã¯ãã«ä½¿ç¨ããå ´åã®åä½ã示ãã¦ãã¾ãã
function Shape() {}
function Rectangle() {
Shape.call(this); // ã¹ã¼ãã¼ã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ã¼ãå¼ã³åºãã
}
Rectangle.prototype = Object.create(Shape.prototype);
Rectangle.prototype.constructor = Rectangle;
let rect = new Rectangle();
rect instanceof Object; // true
rect instanceof Shape; // true
rect instanceof Rectangle; // true
rect instanceof String; // false
let literalObject = {};
let nullObject = Object.create(null);
nullObject.name = "My object";
literalObject instanceof Object; // true : ãã¹ã¦ã®ãªãã¸ã§ã¯ããªãã©ã«ã¯ Object.prototype ããããã¿ã¤ãã¨ãã¦æã¤
({}) instanceof Object; // true : ä¸è¨ã¨åã
nullObject instanceof Object; // false : ãããã¿ã¤ãã¯ãããã¿ã¤ããã§ã¼ã³ã®æ«å°¾ (null)
mycar
ã Car
åããã³ Object
åã§ãããã¨ã示ã
以ä¸ã®ã³ã¼ãã¯ãCar
ãªãã¸ã§ã¯ãåã¨ãã®ã¤ã³ã¹ã¿ã³ã¹ã§ãã mycar
ãçæãã¦ãã¾ããinstanceof
æ¼ç®åã§ãmycar
㯠Car
åããã³ Object
åã§ãããã¨ã示ãã¾ãã
function Car(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
let mycar = new Car("Honda", "Accord", 1998);
let a = mycar instanceof Car; // true ãè¿ã
let b = mycar instanceof Object; // true ãè¿ã
instanceof ã®å¦å®
ãããªãã¸ã§ã¯ããç¹å®ã®ã³ã³ã¹ãã©ã¯ã¿ã¼ã® instanceof
ã§ãªããã¨ãæ¤æ»ããã«ã¯ã次ã®ããã«ãã¾ãã
if (!(mycar instanceof Car)) {
// 次ã®ãããªãã¨ããã¾ãã
// mycar = new Car(mycar)
}
ããã¯å®éã«ã¯æ¬¡ã®ãã®ã¨ã¯ç°ãªãã¾ãã
if (!mycar instanceof Car)
ããã¯å¸¸ã« false
ã«ãªãã¾ããï¼!mycar
㯠instanceof
ã®åã«è©ä¾¡ãããããã常ã«è«çå¤ã Car
ã®ã¤ã³ã¹ã¿ã³ã¹ã§ãããã©ãããæ¤æ»ãããã¨ãã¾ããï¼
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