padstart 의 poly fill
1521 단어 자바 scriptecmascriptes6polyfill
스타 를 환영 합 니 다.
오늘 ES7 에 새로 추 가 된 부분 인 Api 를 볼 때 마침 padstart 라 는 방법 을 보 았 습 니 다. 실 용적 인 것 같 습 니 다. 그리고 본 격 적 인 작업 을 시작 하기 전에 코드 를 쓰 는 느낌 을 찾 고 싶 어서 이 poly fill 을 이 루 었 습 니 다.
관련 API 용법 은 MDN 에 설명 되 어 있 습 니 다.링크 아래 구체 적 실현
if(!String.prototype.padStart)
String.prototype.padStart =
// fillString ES6 ,
function (maxLength, fillString=' ') {
if(Object.prototype.toString.call(fillString) !== "[object String]") throw new TypeError('fillString must be String')
let str = this
// String(str) ,
if(str.length >= maxLength) return String(str)
let fillLength = maxLength - str.length,
times = Math.ceil(fillLength / fillString.length)
// ?
// SICP 30
while(times >>= 1) {
fillString += fillString
if(times === 1){
fillString += fillString
}
}
return fillString.slice(0, fillLength) + str
}
// padStart
'5'.padStart(2, '0') // '05'
'15'.padStart(2, '0') // '15'
ps: 쓰 고 나 서 갑자기 이것 이 npm 의
left-pad
라 이브 러 리 삭제 사건 인 것 같 습 니 다.많은 사람들 이 이 라 이브 러 리 를 다시 썼 던 것 을 어렴풋이 기억한다.anyway, 연습 의 목적 은 달성 한 셈 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Thymeleaf 의 일반 양식 제출 과 AJAX 제출텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.