IE에서 padStart() 실행시키기

Javascript 2021. 2. 17. 15:28

728x90

우리나라 한정, IE11을 사용하는 데가 여전히 꽤 있습니다. 네, 돈 때문에 어쩔 수가 없습니다.

MDN으로 가 보면 Internet Explorer만 지원 않는다고 나와 있습니다. 참...

위 링크로 가시면 페이지 중간 정도에 폴리필이 있습니다. 어후 감사!

// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
if(!String.prototype.padStart) {
	String.prototype.padStart = function padStart(targetLength, padString) {
		if(this.length >= targetLength) {
			return String(this);
		} else {
			if(padString == null || padString == " ") {
				padString = " ";
			} else if(padString.length > 1) {
				padString = padString.substring(0,1);
			}
			targetLength = targetLength - this.length;
			var prefix = "";
			for(var i = 0; i < targetLength; i++) {
				prefix += padString;
			}
			return prefix + String(this);
		}
	};
}

위 코드를 padStart()를 사용해야 할 페이지에 선언만 하면 실행 안 되던 브라우저에서도 정상적으로 사용할 수가 있습니다.

반응형

댓글 0