자바스크립트에서 폴리필이 무엇인가요?
현대에는 최신 버전의 JavaScript가 다양한 기능을 지원합니다. 그러나 일부 이전 브라우저는 이러한 새로운 기능을 모두 완벽하게 지원하지 않으므로 Internet Explorer(IE)와 같은 브라우저에서 논리가 예상대로 작동하지 않을 수 있습니다.
이전 브라우저와의 호환성을 보장하기 위해 이러한 최신 기능의 동작을 모방하는 맞춤 로직을 작성할 수 있습니다. 이 사용자 정의 코드를 "폴리필"이라고 합니다.
이번 게시물에서는 배열 방법에 대한 폴리필의 몇 가지 예를 제공하겠습니다.
1. 지도:
if (!Array.prototype.map) { try { Array.prototype.map = function(callback) { const arr = []; if (typeof callback !== "function") { throw new Error("map callback is not a function"); } else { const len = this.length; for (let i = 0; i < len; i++) { const val = callback(this[i], i); arr.push(val); } } return arr; } } catch (err) { console.error(err); } }
위 코드에서 네이티브 맵 메소드가 없는 경우 배열의 프로토타입 체인에 하나의 맵 메소드를 추가한 것을 볼 수 있습니다.
2. 필터:
if (!Array.prototype.filter) { try { Array.prototype.filter = function(callback) { const arr = []; if (typeof callback !== "function") { throw new Error("filter callback is not a function"); } else { const len = this.length; for (let i = 0; i < len; i++) { const val = callback(this[i], i); if (val) { arr.push(this[i]); } } } return arr; } } catch (err) { console.error(err); } }
위 내용은 Javascript 배열 폴리필: 맵, 필터의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!