The structured clone ìê³ ë¦¬ì¦ì ë³µì¡í JavaScript ê°ì²´ì ì§ë ¬íì ìí´ì HTML5 specificationì ìí´ì ì ìë ìë¡ì´ ìê³ ë¦¬ì¦ ì ëë¤. ì´ê²ì ìíê·¸ëí를 í¬í¨íë ê°ì²´ì ì§ë ¬í를 ì§ìí기 ë문ì JSONë³´ë¤ ë ì ì©í©ëë¤. â ê°ì²´ë ê°ì ê·¸ëíìì ë¤ë¥¸ê°ì²´ë¥¼ 참조íë ê°ì²´ë¥¼ 참조í ì ììµëë¤. ì´ë¬í ì¼ì´ì¤ë¤ììë structured cloneìê³ ë¦¬ì¦ì´ ìë§ë JSONë³´ë¤ ë í¨ì¨ì ì¼ ê²ì ëë¤.
ìê³ ë¦¬ì¦ì 본ì§ì ì¼ë¡ ì본 ê°ì²´ì 모ë íë를 ê±°ì¹ê³ ê° íëì ê°ë¤ì ìë¡ì´ ê°ì²´ë¡ ë³µì í©ëë¤. ë§ì½ íëê° ê°ì²´ë¥¼ ê°ì¡ë¤ë©´ 모ë íëì ê·¸ ìë¸íëê° ìë¡ì´ ê°ì²´ë¡ ë³µì ë ë ê¹ì§ ì¬ê·ì ì¼ë¡ ëìí©ëë¤.
JSONì ëë ì´ëJSONì ë°ì´ëë structured cloneìê³ ë¦¬ì¦ì ì¬ë¬ê°ì§ íµì¬ ì´ëì´ ììµëë¤.
RegExp
ê°ì²´ë¤ë ë³µì¬í ì ììµëë¤..Blob
, File
ì FileList
ê°ì²´ë¤ë ë³µì¬í ì ììµëë¤..ImageData
ê°ì²´ë¤ë ë³µì¬í ì ììµëë¤. í´ë¡ ëCanvasPixelArray
í¬ê¸°(dimensions)ë ì본과 matchë ê²ì´ê³ ê°ì í½ì
ë°ì´í°ì ë³µì 를 ê°ì§ëë¤.Errorì
Function
ê°ì²´ë¤ì structured clone ìê³ ë¦¬ì¦ì ìí´ì ë³µì ë ì ììµëë¤; ì´ê²ì ìëíë©´ DATA_CLONE_ERR
exceptionì ëì§ ê² ì
ëë¤.DATA_CLONE_ERR
exceptionì ëì§ ê² ì
ëë¤.RegExpê°ì²´ë¤ì lastIndexíëë ë³´ì¡´ëì§ ììµëë¤.
ê°ì²´ì ê¹ì ë³µì¬(deep copy)를 ìíë¤ë©´(모ë íë¡í íì ì²´ì¸ê³¼ ë´í¬ë ìì±ë¤ ê¹ì§ë), ëë¤ë¥¸ ì 근방ìì ì¬ì©í´ì¼ë§ í©ëë¤. ìëì ìì 를 íì¸íì¸ì.
function clone(objectToBeCloned) {
// Basis.
if (!(objectToBeCloned instanceof Object)) {
return objectToBeCloned;
}
var objectClone;
// Filter out special objects.
var Constructor = objectToBeCloned.constructor;
switch (Constructor) {
// Implement other special objects here.
case RegExp:
objectClone = new Constructor(objectToBeCloned);
break;
case Date:
objectClone = new Constructor(objectToBeCloned.getTime());
break;
default:
objectClone = new Constructor();
}
// Clone each property.
for (var prop in objectToBeCloned) {
objectClone[prop] = clone(objectToBeCloned[prop]);
}
return objectClone;
}
ì°¸ê³ : ì´ ìê³ ë¦¬ì¦ì ì¤ì ë¡ RegExp
, Array
, ì Date
ì¤íì
ê°ì²´ë¤ì 구ííìµëë¤. íìì ë°ë¼ì ë¤ë¥¸ í¹ìí ì¼ì´ì¤ë¤ì 구íí ì ììµëë¤.
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