IE 진짜 왜 아직까지 쓰는지 모르겠지만 쓰는사람이 있으니까 최대한 호환성 생각해줘야된다ㅜㅜ
setTimeout(() => {
}, milliseconds);
익스플로러는 => 이 의미를 아예 이해 못한다.
setTimeout(function () {
}, milliseconds);
이 경우에는 이런식으로 바꿔주자.
개빡친다. 브라우저중에 IE만 안된다.
includes는 포함하면 true 없으면 false를 리턴한다.
const isInclude = arr.includes('something');
이 역시 인식하지 못한다.
if(arr.indexOf('something') > -1){
}
indexOf를 사용하자.
indexOf는 찾으면 그 index를 리턴한다. -1이라면 없다는 의미.
이 역시 IE만 안된다. 미친 브라우저다.
padStart는 현재 문자열의 시작을 다른 문자열로 채워, 주어진 길이를 만족하는 새로운 문자열을 반환합니다.
채워넣기는 대상 문자열의 시작(좌측)부터 적용됩니다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/padStart 를 보면
이런식으로 만들어주면 된다.
if (!String.prototype.padStart) {
String.prototype.padStart = function padStart(targetLength,padString) {
targetLength = targetLength>>0; //truncate if number or convert non-number to 0;
padString = String((typeof padString !== 'undefined' ? padString : ' '));
if (this.length > targetLength) {
return String(this);
}
else {
targetLength = targetLength-this.length;
if (targetLength > padString.length) {
padString += padString.repeat(targetLength/padString.length); //append to original to ensure we are longer than needed
}
return padString.slice(0,targetLength) + String(this);
}
};
}