in
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
妿æå®ç屿§å¨æå®ç对象æå
¶ååé¾ä¸ï¼å in è¿ç®ç¬¦è¿å trueã
å°è¯ä¸ä¸
const car = { make: "Honda", model: "Accord", year: 1998 };
console.log("make" in car);
// Expected output: true
delete car.make;
if ("make" in car === false) {
car.make = "Suzuki";
}
console.log(car.make);
// Expected output: "Suzuki"
è¯æ³
prop in object
åæ°
prop-
ä¸ä¸ªå符串类åæè symbol ç±»åç屿§åæè æ°ç»ç´¢å¼ï¼é symbol ç±»åå°ä¼å¼ºå¶è½¬ä¸ºå符串ï¼ã
objectName-
æ£æ¥å®ï¼æå ¶ååé¾ï¼æ¯å¦å å«å ·ææå®åç§°ç屿§ç对象ã
æè¿°
ä¸é¢çä¾åæ¼ç¤ºäºä¸äº in è¿ç®ç¬¦çç¨æ³ã
// æ°ç»
var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
0 in trees; // è¿å true
3 in trees; // è¿å true
6 in trees; // è¿å false
"bay" in trees; // è¿å false (å¿
须使ç¨ç´¢å¼å·ï¼è䏿¯æ°ç»å
ç´ çå¼)
"length" in trees; // è¿å true (length æ¯ä¸ä¸ªæ°ç»å±æ§)
Symbol.iterator in trees; // è¿å true (æ°ç»å¯è¿ä»£ï¼åªå¨ ES2015+ 䏿æ)
// å
置对象
"PI" in Math; // è¿å true
// èªå®ä¹å¯¹è±¡
var mycar = { make: "Honda", model: "Accord", year: 1998 };
"make" in mycar; // è¿å true
"model" in mycar; // è¿å true
in峿使°å¿
é¡»æ¯ä¸ä¸ªå¯¹è±¡å¼ãä¾å¦ï¼ä½ å¯ä»¥æå®ä½¿ç¨Stringæé 彿°å建çå符串ï¼ä½ä¸è½æå®å符串æåã
var color1 = new String("green");
"length" in color1; // è¿å true
var color2 = "coral";
"length" in color2; // æ¥é (color2 䏿¯å¯¹è±¡)
对被å 餿å¼ä¸º undefined ç屿§ä½¿ç¨in
å¦æä½ ä½¿ç¨ delete è¿ç®ç¬¦å é¤äºä¸ä¸ªå±æ§ï¼å in è¿ç®ç¬¦å¯¹æå é¤å±æ§è¿å falseã
var mycar = { make: "Honda", model: "Accord", year: 1998 };
delete mycar.make;
"make" in mycar; // è¿å false
var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
delete trees[3];
3 in trees; // è¿å false
å¦æä½ åªæ¯å°ä¸ä¸ªå±æ§çå¼èµå¼ä¸ºundefinedï¼è没æå é¤å®ï¼å in è¿ç®ä»ç¶ä¼è¿åtrueã
var mycar = { make: "Honda", model: "Accord", year: 1998 };
mycar.make = undefined;
"make" in mycar; // è¿å true
var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
trees[3] = undefined;
3 in trees; // è¿å true
ç»§æ¿å±æ§
妿ä¸ä¸ªå±æ§æ¯ä»ååé¾ä¸ç»§æ¿æ¥çï¼in è¿ç®ç¬¦ä¹ä¼è¿å trueã
"toString" in {}; // è¿å true
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-relational-operators> |