JavaScriptë ë¤ì ì¸ ê°ì§ì ê° ë¹êµ ì°ì°ì ì ê³µí©ëë¤.
===
- ì격í ëë± (ì¼ì¤ ë±í¸)==
- ëì¨í ëë± (ì´ì¤ ë±í¸)Object.is()
ì´ë ì°ì°ì ì¬ì©í ì§ ì ííë ê²ì ì¬ë¬ë¶ì´ ì´ë¤ ì¢ ë¥ì ë¹êµë¥¼ ìííë ¤ê³ íëì§ì ë¬ë ¤ììµëë¤. ê°ë¨í ë§íìë©´ ë¤ìê³¼ ê°ìµëë¤.
==
)ë ë ëìì ë¹êµí ë ì í ë³íì ìíí ë¤, IEEE 754를 ì¤ìíëë¡ NaN
, -0
, +0
ì í¹ë³í ì²ë¦¬í©ëë¤(ë°ë¼ì NaN != NaN
ì´ê³ -0 == +0
).===
)ë ì´ì¤ ë±í¸ì ëì¼í ë¹êµ(NaN
, -0
, +0
ì ëí í¹ì ì²ë¦¬ í¬í¨)를 ìííì§ë§ ì í ë³íì ìííì§ ììµëë¤. ì íì´ ë¤ë¥´ë©´ false
ê° ë°íë©ëë¤.Object.is()
ë NaN
, -0
, +0
ì ëí íì ë³íê³¼ í¹ì ì²ë¦¬ë¥¼ ìííì§ ììµëë¤(í¹ì ì«ì ê°ì ì ì¸íê³ ===
ì ëì¼í ëì ì ê³µ).ì´ë¤ì JavaScriptì 4ê°ì§ ëë± ìê³ ë¦¬ì¦ ì¤ 3ê°ì§ì í´ë¹í©ëë¤.
==
===
Object.is()
ì´ë¤ ì¬ì´ì 구ë³ì 모ë ìì ê° ì²ë¦¬ì ê´ë ¨ ììµëë¤. ì´ë¤ ì¤ ì´ë ê²ë 매ê°ë³ìê° êµ¬ì¡°ìì ê°ë
ì ì¼ë¡ ì ì¬íì§ ë¹êµíì§ ììµëë¤. ëì¼í 구조를 ê°ì§ê³ ìì§ë§, ê³ ì í ê°ì²´ì¸ ë¹ ìì ê° ê°ì²´ x
ì y
ì ê²½ì°, ìì 모ë íìì false
ë¡ íê°ë©ëë¤.
ì격í ëë±ì ë ê°ì´ ê°ìì§ ë¹êµí©ëë¤. ë¹êµë기 ì ì´ë í ê°ë ììì ì¼ë¡ ë¤ë¥¸ ê°ì¼ë¡ ë³íëì§ ììµëë¤. ê°ì íìì´ ë¤ë¥¸ ê²½ì°, ë ê°ì ëë±íì§ ìë¤ê³ ê°ì£¼ë©ëë¤. ê°ì íìì´ ê°ê³ ì«ìê° ìëê³ ê°ì´ ê°ë¤ë©´ ë ê°ì ëë±íë¤ê³ ê°ì£¼ë©ëë¤. ë§ì§ë§ì¼ë¡ ë ê°ì´ 모ë ì«ìì¸ ê²½ì°, ë ë¤ NaN
ì´ ìë ëì¼í ê°ì´ê±°ë, íëê° +0
ì´ê³ íëê° -0
ì´ë©´ ëë±í ê²ì¼ë¡ ê°ì£¼ë©ëë¤.
const num = 0;
const obj = new String("0");
const str = "0";
console.log(num === num); // true
console.log(obj === obj); // true
console.log(str === str); // true
console.log(num === obj); // false
console.log(num === str); // false
console.log(obj === str); // false
console.log(null === undefined); // false
console.log(obj === null); // false
console.log(obj === undefined); // false
ì격í ëë±ì ê±°ì íì ì¬ì©íë ì¬ë°ë¥¸ ë¹êµ ì°ì°ì
ëë¤. ì«ì를 ì ì¸í 모ë ê°ì ëí´ "í ê°ì ìì ê³¼ë§ ê°ë¤"ë¼ë ëª
ë°±í ì미 ì²´ê³ë¥¼ ì¬ì©í©ëë¤. ì«ìì ê²½ì° ì½ê° ë¤ë¥¸ ì미 ì²´ê³ë¥¼ ì¬ì©íì¬ ìë¡ ë¤ë¥¸ ë ê°ì§ ê²½ì°ë¥¼ ì²ë¦¬í©ëë¤. 첫 ë²ì§¸ë ë¶ë ììì 0ì´ ìì ëë ììë¡ ë¶í¸í ëë¤ëì ì
ëë¤. ì´ë í¹ì ìí í´ë¥¼ ëíë´ë ë° ì ì©íì§ë§, ëë¶ë¶ì ìí©ììë +0
ê³¼ -0
ì ì°¨ì´ë¥¼ ì ê²½ ì°ì§ ìì¼ë¯ë¡ ì격í ëë±ì ë ê°ì ëì¼í ê°ì¼ë¡ ì·¨ê¸í©ëë¤. ë ë²ì§¸ë ë¶ë ììì ì´ NaN
ì´ë¼ë ì«ìê° ìë ê°ì ê°ë
ì í¬í¨íì¬ ì´ë¤ ë¶ë¶ëª
í ìí 문ì (ì: ìì 무íëì ìì 무íë를 ëí¨)ì ëí í´ë¥¼ ëíë´ë ê²½ì°ì
ëë¤. ì격í ëë±ì NaN
ì ë¤ë¥¸ 모ë ê°ê³¼ ê°ì§ ìì ê²ì¼ë¡ ì·¨ê¸í©ëë¤. ((x !== x)
ê° true
ì¸ ì ì¼í ê²½ì°ë x
ê° NaN
ì¼ ëì
ëë¤.)
===
ì¸ìë ì격í ëë±ì Array.prototype.indexOf()
, Array.prototype.lastIndexOf()
, TypedArray.prototype.indexOf()
, TypedArray.prototype.lastIndexOf()
, ê·¸ë¦¬ê³ case
ì¼ì¹ë¥¼ í¬í¨í ì¸ë±ì¤ ê²ì ë©ìëìì ì¬ì©ë©ëë¤. ì¦, indexOf(NaN)
ì ì¬ì©íì¬ ë°°ì´ìì NaN
ê°ì ì¸ë±ì¤ë¥¼ 찾거ë NaN
ì switch
문ìì case
ê°ì¼ë¡ ì¬ì©íì¬ ì´ë¤ í목과 ì¼ì¹íëë¡ ë§ë¤ ì ììµëë¤.
console.log([NaN].indexOf(NaN)); // -1
switch (NaN) {
case NaN:
console.log("Surprise"); // ì무ê²ë ë¡ê·¸ëì§ ììµëë¤.
}
==를 ì¬ì©íë ëì¨í ëë±
ëì¨í ëë±ì ëì¹ì
ëë¤. ì¦, A == B
ë A
ì B
ê° ì´ë¤ ê°ì´ë íì B == A
ì ëì¼í ì미 ì²´ê³ë¥¼ ê°ì§ëë¤(ì ì©ë ë³í ìì ì ì¸). ==
를 ì¬ì©íì¬ ëì¨í ëë±ì ìííë ëìì ë¤ìê³¼ ê°ìµëë¤.
true
를 ë°íí©ëë¤.true
를 ë°íí©ëë¤.true
를 ë°íí©ëë¤. +0
ê³¼ -0
ì ê°ì ê°ì¼ë¡ ì·¨ê¸í©ëë¤. í¼ì°ì°ì ì¤ íëê° NaN
ì´ë©´ false
를 ë°íí©ëë¤. ë°ë¼ì NaN
ì ê²°ì½ NaN
ê³¼ ê°ì§ ììµëë¤.true
ì´ê±°ë ë ë¤ false
ì¸ ê²½ì°ìë§ true
를 ë°íí©ëë¤.true
를 ë°íí©ëë¤.true
를 ë°íí©ëë¤.null
ì´ê±°ë undefined
ì¸ ê²½ì° true
를 ë°ííë ¤ë©´ ë¤ë¥¸ í¼ì°ì°ìë null
ì´ê±°ë undefined
ì¬ì¼ í©ëë¤. ê·¸ë ì§ ìì¼ë©´ false
를 ë°íí©ëë¤.false
를 ë°íí©ëë¤.true
ë 1ë¡ ë³íëê³ false
ë 0ì¼ë¡ ë³íë©ëë¤. ê·¸ë° ë¤ì ë í¼ì°ì°ì를 ë¤ì ëì¨íê² ë¹êµí©ëë¤.NaN
ì´ ë°ìíë©´ ëë±ì±ì´ false
ìì ë³´ì¥í©ëë¤.NaN
ì´ë©´ false
를 ë°íí©ëë¤.BigInt()
ìì±ìì ëì¼í ìê³ ë¦¬ì¦ì ì¬ì©íì¬ ë¬¸ìì´ì BigIntë¡ ë³íí©ëë¤. ë³íì ì¤í¨íë©´ false
를 ë°íí©ëë¤.ì íµì ì¼ë¡, ê·¸ë¦¬ê³ ECMAScriptì ë°ë¥´ë©´ 모ë ìì ê°ê³¼ ê°ì²´ë undefined
ì null
ê³¼ ëì¨íê² ëë±íì§ ììµëë¤. ê·¸ë¬ë ëë¶ë¶ì ë¸ë¼ì°ì ë í¹ì í í´ëì¤ì ê°ì²´(í¹í 모ë íì´ì§ì document.all
ê°ì²´)ê° ì¼ë¶ ìí©ìì ë§ì¹ ê° undefined
ì 모방íë ê²ì²ë¼ ëìíë ê²ì íì©í©ëë¤. ëì¨í ëë±ì±ì ë¤ì ë§¥ë½ ì¤ íëì
ëë¤. null == A
ì undefined == A
ë Aê° undefined
ë¡ ì뮬ë ì´í¸ íë ê°ì²´ì¸ ê²½ì°ìë§ true
ë¡ íê°ë©ëë¤. ë¤ë¥¸ 모ë ê²½ì°ìë ê°ì²´ê° undefined
ëë null
ê³¼ ëì¨íê² ëë±íì§ ììµëë¤.
ëë¶ë¶ì ê²½ì°ìì ëì¨í ëë±ì ì¬ì©íë ê²ì´ ê¶ì¥ëì§ ììµëë¤. ì격í ëë±ì ì¬ì©í ë¹êµ ê²°ê³¼ë ì측í기 ì½ê³ , ê°ì íë³íì´ ì기 ë문ì ë 빨리 íê°ë ì ììµëë¤.
ë¤ì ìì ë ì«ì ìì ê° 0
, bigint ìì ê° 0n
, 문ìì´ ìì ê° '0'
, ê·¸ë¦¬ê³ toString()
ê°ì´ '0'
ì¸ ê°ì²´ì ê´ë ¨ë ëì¨í ëë± ë¹êµë¥¼ ë³´ì¬ì¤ëë¤.
const num = 0;
const big = 0n;
const str = "0";
const obj = new String("0");
console.log(num == str); // true
console.log(big == num); // true
console.log(str == big); // true
console.log(num == obj); // true
console.log(big == obj); // true
console.log(str == obj); // true
ëì¨í ëë±ìë ==
ì°ì°ìë§ ì¬ì©í©ëë¤.
ëì¼ ê° ëë±ì ë ê°ì´ 모ë ë§¥ë½ìì 기ë¥ì ì¼ë¡ ëì¼íì§ ì¬ë¶ë¥¼ ê²°ì í©ëë¤. (ì´ ì¬ì© ì¬ë¡ëLiskov ëì²´ ìì¹ ì¬ë¡ë¥¼ ë³´ì¬ì¤ëë¤.) ë³ê²½í ì ìë ìì±ì ë³ê²½íë ¤ íë ê²½ì° í ì¬ë¡ê° ë°ìí©ëë¤.
// ë³ê²½í ì ìë NEGATIVE_ZERO ìì±ì Number ìì±ìì ì¶ê°í©ëë¤.
Object.defineProperty(Number, "NEGATIVE_ZERO", {
value: -0,
writable: false,
configurable: false,
enumerable: false,
});
function attemptMutation(v) {
Object.defineProperty(Number, "NEGATIVE_ZERO", { value: v });
}
Object.defineProperty
ë ë³ê²½í ì ìë ìì±ì ë³ê²½íë ¤ê³ ìëí ë ìì¸ë¥¼ ë°ììí¤ì§ì§ë§, ì¤ì ë³ê²½ì´ ìì²ëì§ ìì¼ë©´ ì무 ìì
ë ìííì§ ììµëë¤. v
ê° -0
ì´ë©´ ë³ê²½ì´ ìì²ëì§ ììì¼ë©°, ì¤ë¥ê° ë°ìíì§ ììµëë¤. ë´ë¶ì ì¼ë¡ ë³ê²½í ì ìë ìì±ì´ ì¬ì ìëë©´, ìë¡ ì§ì ë ê°ì ëì¼ ê° ëë±ì ì¬ì©íì¬ íì¬ ê°ê³¼ ë¹êµí©ëë¤.
ëì¼ ê° ëë±ì Object.is
ë©ìëì ìí´ ì ê³µë©ëë¤. ì´ë ëë±í ID ê°ì´ ììëë ì¸ì´ì ê±°ì 모ë ê³³ìì ì¬ì©ë©ëë¤.
ëì¼ ê° ê° ëë±ê³¼ ì ì¬íì§ë§, +0ê³¼ -0ì ê°ì ê²ì¼ë¡ ê°ì£¼ë©ëë¤.
ëì¼ ê° ì ë¡ ëë±ì JavaScript APIë¡ ë ¸ì¶ëì§ ìì§ë§, ì¬ì©ì ì§ì ì½ëë¡ êµ¬íí ì ììµëë¤.
function sameValueZero(x, y) {
if (typeof x === "number" && typeof y === "number") {
// xì yë ê°ê±°ë(-0ê³¼ 0ì¼ ì ìì) ë ë¤ NaNì
ëë¤.
return x === y || (x !== x && y !== y);
}
return x === y;
}
ëì¼ ê° ì ë¡ë NaN
ì ëë±íê² ì·¨ê¸íë ì ììë§ ì격í ëë±ê³¼ ë¤ë¥´ê³ , -0
ì 0
ê³¼ ëë±íê² ì·¨ê¸íë ì ììë§ ëì¼ ê° ëë±ê³¼ ë¤ë¦
ëë¤. ë°ë¼ì í¹í NaNì¼ë¡ ìì
í ë, ì¼ë°ì ì¼ë¡ ê²ììì ê°ì¥ í©ë¦¬ì ì¸ ëìì ìíí©ëë¤. í¤ ëë±ì ë¹êµí기 ìí´ Array.prototype.includes()
, TypedArray.prototype.includes()
, ê·¸ë¦¬ê³ Map
ê³¼ Set
ë©ìëìì ì¬ì©ë©ëë¤.
ì¬ëë¤ì ì¢
ì¢
ì¼ì¤ ë±í¸ê° ì´ì¤ ë±í¸ì "í¥ìë" ë²ì ì´ë¼ê³ ë§íë©´ì ì´ ëì ë¹êµí©ëë¤. ì를 ë¤ì´, ì´ì¤ ë±í¸ë ì¼ì¤ ë±í¸ì íì¥ë ë²ì ì´ë¼ê³ ë§í ì ììµëë¤. ìëíë©´ ì ìë íìì 모ë ìì
ì ìííì§ë§ í¼ì°ì°ìì ì í ë³íì´ ì기 ë문ì
ëë¤(ì: 6 == "6"
). ëë ì´ì¤ ë±í¸ê° 기ì¤ì ì´ê³ ì¼ì¤ ë±í¸ê° í¥ìë ë²ì ì´ë¼ê³ 주ì¥í ì ììµëë¤. ë í¼ì°ì°ìê° ëì¼í ì íì´ì´ì¼ íë¯ë¡ ì¶ê° ì ì½ ì¡°ê±´ì´ ì¶ê°ë기 ë문ì
ëë¤.
ê·¸ë¬ë ì´ë¬í ìê°ì ë°©ìì ëë± ë¹êµê° í쪽 ëìë "ìì í ì격í¨"ì´ ìê³ , ë¤ë¥¸ìª½ìë "ìì í ëì¨í¨"ì´ ìë 1ì°¨ì "ì¤íí¸ë¼"ì íì±í©ëë¤. ì´ ì¤íí¸ë¼ì Object.is
ìì ë¶ì¡±í ì ì´ ëë¬ëëë°, ì´ë ì´ì¤ ë±í¸ë³´ë¤ "ëì¨íì§"ë ìê³ , ì¼ì¤ ë±í¸ë³´ë¤ "ì격"íì§ë ìì ì¤ê° ì´ëê°ì ë§ì§ë ì기 ë문ì
ëë¤(ì¦, ì´ì¤ ë±í¸ë³´ë¨ ì격íì§ë§ ì¼ì¤ ë±í¸ë³´ë¤ ëì¨íë¤). ìëì ëì¼ì± ë¹êµ íìì ì´ê²ì´ Object.is
ê° NaN
ì ì²ë¦¬íë ë°©ì ë문ìì ì ì ììµëë¤. ë§ì½ Object.is(NaN, NaN)
ì´ false
ë¡ íê°ëë©´ Object.is
ë -0
ê³¼ +0
ì 구ë³íë ë ì격í ì¼ì¤ ë±í¸ì íìì¼ë¡ ëì¨/ì격 ì¤íí¸ë¼ì ì í©íë¤ê³ ë§í ì ììµëë¤. ê·¸ë¬ë NaN
ì²ë¦¬ë ì´ê²ì´ ì¬ì¤ì´ ìëì ì미í©ëë¤. ë¶ííê²ë Object.is
ë ë±í¸ ì°ì°ìì ëí ëì¨í¨ì´ë ì격í¨ì´ ìëë¼ ê³ ì í í¹ì±ì ê´ì ìì ìê°í´ì¼ í©ëë¤.
==
===
Object.is
SameValueZero
undefined
undefined
â
true
â
true
â
true
â
true
null
null
â
true
â
true
â
true
â
true
true
true
â
true
â
true
â
true
â
true
false
false
â
true
â
true
â
true
â
true
'foo'
'foo'
â
true
â
true
â
true
â
true
0
0
â
true
â
true
â
true
â
true
+0
-0
â
true
â
true
â false
â
true
+0
0
â
true
â
true
â
true
â
true
-0
0
â
true
â
true
â false
â
true
0n
-0n
â
true
â
true
â
true
â
true
0
false
â
true
â false
â false
â false
""
false
â
true
â false
â false
â false
""
0
â
true
â false
â false
â false
'0'
0
â
true
â false
â false
â false
'17'
17
â
true
â false
â false
â false
[1, 2]
'1,2'
â
true
â false
â false
â false
new String('foo')
'foo'
â
true
â false
â false
â false
null
undefined
â
true
â false
â false
â false
null
false
â false
â false
â false
â false
undefined
false
â false
â false
â false
â false
{ foo: 'bar' }
{ foo: 'bar' }
â false
â false
â false
â false
new String('foo')
new String('foo')
â false
â false
â false
â false
0
null
â false
â false
â false
â false
0
NaN
â false
â false
â false
â false
'foo'
NaN
â false
â false
â false
â false
NaN
NaN
â false
â false
â
true
â
true
ì¸ì Object.is()ì ì¼ì¤ ë±í¸ë¥¼ ì¬ì©í´ì¼ í ê¹?
ì¼ë°ì ì¼ë¡ 0ì ëí Object.is
ì í¹ë³í ëìì ê´ì¬ì ê°ì§ ì ìë ì ì¼í ìê°ì í¹ì ë©í íë¡ê·¸ëë° ì²´ê³ë¥¼ ì¶êµ¬í ë, í¹í ìì± ì¤ëª
ìì ê´ë ¨íì¬ ìì
ì´ Object.defineProperty
ì ì¼ë¶ í¹ì±ì ë°ìíë ê²ì´ ë°ëì§í ë ì
ëë¤. ì¬ë¬ë¶ì ì¬ì© ì¬ë¡ì ì´ê²ì´ íìíì§ ìì ê²½ì°, Object.is
를 í¼íê³ ëì ===
를 ì¬ì©íë ê²ì´ ì¢ìµëë¤. ì구 ì¬íì ë NaN
ê° ê°ì ë¹êµê° true
ë¡ íê°ëë ê²ì´ í¬í¨ëëë¼ë, ì¼ë°ì ì¼ë¡ NaN
ê²ì¬(ì´ì ë²ì ì ECMAScriptìì ì¬ì©í ì ìë isNaN
ë©ìë ì¬ì©)를 í¹ìí ê²½ì°ë¡ ì§ì íë ê²ì´ ë¹êµìì ë°ìíë 0ì ë¶í¸ê° ì£¼ë³ ê³ì°ì ì´ë»ê² ìí¥ì ë¯¸ì¹ ì ìëì§ ììë´ë ê²ë³´ë¤ ì½ìµëë¤.
ë¤ìì ì½ëìì -0
ê³¼ +0
ì 구ë¶í ì ìë ë´ì¥ ë©ìëì ì°ì°ìì ì¼ë¶ 목ë¡ì
ëë¤.
-
(ë¨í ë¶ì )
ë¤ì ìì 를 참조íì¸ì.
const stoppingForce = obj.mass * -obj.velocity;
obj.velocity
ê° 0
(ëë 0
ì¼ë¡ ê³ì°)ì´ë©´ í´ë¹ ìì¹ì -0
ì´ ëì
ëê³ stopsingForce
ë¡ ì íë©ëë¤.
Math.atan2
, Math.ceil
, Math.pow
, Math.round
ê²½ì°ì ë°ë¼ -0
ì´ ë§¤ê°ë³ì ì¤ íëë¡ ì¡´ì¬íì§ ìë ê²½ì°ìë -0
ì´ ì´ ë©ìëì ë°í ê°ì¼ë¡ ìì ëì
ë ì ììµëë¤. ì를 ë¤ì´ Math.pow
를 ì¬ì©íì¬ -Infinity
를 ìì ê±°ëì ê³±ì¼ë¡ ì¬ë¦¬ë©´ íì ì§ìë -0
ì¼ë¡ íê°ë©ëë¤. ê°ë³ ë©ìëì ëí 문ì를 참조íì¸ì.
Math.floor
, Math.max
, Math.min
, Math.sin
, Math.sqrt
, Math.tan
-0
ì´ ë§¤ê°ë³ì ì¤ íëë¡ ì¡´ì¬íë ê²½ì°ì ì´ ë©ìëìì -0
ë°í ê°ì ê°ì ¸ì¬ ì ììµëë¤. ì를 ë¤ì´ Math.min(-0, +0)
ì -0
ì¼ë¡ íê°ë©ëë¤. ê°ë³ ë©ìë,ì ëí 문ì를 참조íì¸ì.
~
, <<
, >>
ì´ë¬í ì°ì°ìë ë´ë¶ì ì¼ë¡ ToInt32 ìê³ ë¦¬ì¦ì ì¬ì©í©ëë¤. ë´ë¶ 32ë¹í¸ ì ì ì íìë 0ì ëí ííì´ íëë§ ì기 ë문ì -0
ì ì ì°ì° í ìë³µ ì¬íìì ì´ìë¨ì§ 못í©ëë¤. ì를 ë¤ì´, Object.is(~~(-0), -0)
ê³¼ Object.is(-0 << 2 >> 2, -0)
ì 모ë false
ë¡ íê°ë©ëë¤.
0ì ë¶í¸ê° ê³ ë ¤ëì§ ìì ê²½ì° Object.is
ì ìì¡´íë ê²ì ìíí ì ììµëë¤. ë¬¼ë¡ ìëê° -0
ê³¼ +0
ì 구ë¶íë ê²ì´ë¼ë©´ ì íí ìíëëë¡ ìíë©ëë¤.
Object.is
ì¬ìì NaN
ì 모ë ì¸ì¤í´ì¤ë¥¼ ëì¼í ê°ì²´ë¡ ì·¨ê¸í©ëë¤. ê·¸ë¬ë íìí ë°°ì´ì ì¬ì©í ì ìì¼ë¯ë¡ 모ë ë§¥ë½ìì ëì¼íê² ìëíì§ ìë NaN
ì ê³ ì í ë¶ë ììì ííì ê°ì§ ì ììµëë¤.
const f2b = (x) => new Uint8Array(new Float64Array([x]).buffer);
const b2f = (x) => new Float64Array(x.buffer)[0];
// NaNì ë°ì´í¸ ííì ê°ì ¸ìµëë¤.
const n = f2b(NaN);
// NaNì ì¤ìíì§ ìì ë¶í¸ ë¹í¸ì¸ 첫 ë²ì§¸ ë¹í¸ë¥¼ ë³ê²½í©ëë¤.
n[0] = 1;
const nan2 = b2f(n);
console.log(nan2); // NaN
console.log(Object.is(nan2, NaN)); // true
console.log(f2b(NaN)); // Uint8Array(8) [0, 0, 0, 0, 0, 0, 248, 127]
console.log(f2b(nan2)); // Uint8Array(8) [1, 0, 0, 0, 0, 0, 248, 127]
ê°ì´ 보기
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