본문 바로가기

JavaScript29

[Javascript] SCRIPT1004: ';'가 필요합니다. SCRIPT1004: ';'가 필요합니다. IE 에서 만난 또 다른 에러. 👩‍🦰 음 내가 세미콜론을 빼먹었구나! 하고 보는데 아니야 ㅠㅠㅠㅠㅠ 난 잘 썼잖아 ㅠㅠㅠㅠ 원인은 IE 에서 지원하지 않는 for..of 문법 때문 (근데 오류메세지가 왜..?) // IE - ';' 가 필요합니다. let myStrArr = ['우리','나라','만세']; for (let str of myStrArr) { console.log(str); } // 이렇게 바꿔주자 :) let myStrArr = ['우리','나라','만세']; for (let i in myStrArr) { console.log(myStrArr[i]); } 2021. 6. 16.
[Javascript] SCRIPT1053: Const를 초기화해야 합니다. 새로운 기능을 개발하여 테스트환경에 올려놨는데 IE 에서 작업한 페이지의 스크립트가 아예 안먹어버리는 현상이 있어서 콘솔을 보니 SCRIPT1053: Const를 초기화해야 합니다. 라는 오류가 발생해있더라. 원인은 variable scope 를 철저하게 관리하겠다고 for 문에 const 를 써버린게 문제였고... 찾아보니 const 는 초기화를 무조건 해줘야하는 scope 라서 상수 외에는 웬만하면 사용하지 말라고 권고되어 있었다 ㅎ const myStrArr = ['우리','나라','만세']; for (const str of myStrArr) { console.log(str); } Chrome IE 예제 코드와 브라우저 간 찍힌 log 차이... 😢 2021. 6. 16.
[jQuery] .data() vs .attr() jQuery 공식 홈페이지에서 정의하는 .data() 와 .attr() 스펙 .data() : https://api.jquery.com/jQuery.data/#jQuery-data-element-key-value .attr() : https://api.jquery.com/attr/#attr-attributeName 공식 홈페이지에서 정의한 내용에 덧붙여 실무하면서 알게 된 사실을 적어보고자 한다 :) .data() .attr() 리턴 객체 데이터 타입 Object String DOM 변경 여부 X O 서로 다른 데이터 접근 X X 1. 리턴 객체 데이터 타입 .data() : Object 금액 계산을 하려면 typepf 로 현재 데이터 타입을 판단하고 parseInt 를 해야 한다. .attr() : S.. 2021. 6. 7.
[Javascript] array function 주의점 (역시나 주인공은 IE) 새로운 비즈니스 로직을 개발하여 테스트 환경에 올려두었는데, IE 환경에서 오류가 난다는 제보가 들어왔다. 확인해보니 새로 추가한 '두 배열에 중복되는 값을 찾는 function' 에서 구문오류가 발생하고 있었고, 그 함수는 array function 을 쓰고 있어서 찾아보니 역시나 IE 에선 호환되지 않는 이슈가 있었다. (IE 도 테스트하는 습관을 기르자 😭) // before var a = [3]; var b = [1,2,3,4,5]; var c = a.filter(item => b.indexOf(item) > -1); console.log(c); // [3] var d = b.filter(item => a.indexOf(item) > -1); console.log(d); // [3] // afte.. 2021. 5. 26.
[Javascript] 일치하는 문자열 확인하는 .indexOf() 의 주의점 두 문자열에 일치하는 문자가 있는지 확인하는 함수 중 가장 널리 쓰이고 있는 .indexOf() 이 함수를 사용할 때 중요한 점은 비교대상 문자열이 무엇인지 잘 인지하고 있어야 한다는 점이다. (안그러면 내가 원하는 결과값이 안나올 수 있어요...) 간단한 예로 aGroupStr 에는 ',' 로 이어붙인 문자열 "우리,나라,만세" 가 있고 bGroupStr 에는 단어 "우리" 가 있다고 했을 때, aGroupStr 입장에서 bGroupStr 문자가 자기한테 있는지 확인하는거랑 bGroupStr 입장에서 aGroupStr 문자가 자기한테 있는지 확인하는거랑 리턴되는 값이 다르다. let aGroupStr = "우리,나라,만세"; let bGroupStr = "우리"; console.log("aGroupSt.. 2021. 5. 7.
[Javascript] RegExp 정규식으로 입력 문자패턴 체크 (특수문자 넣었는데 왜 안돼!) // 패턴 선언 var patternStr = '~!@#$%^&*()_+'; var regx = new RegExp('^[' + patternStr + '\\s]+$'); // 패턴 체크 regx.test("테스트문자열"); 화면단에서 RegExp 정규식으로 입력한 문자의 문자패턴을 체크하는 로직이 있는데 테스트 문자열에 특수문자 (!@#$%^&()) 를 입력하니까 내가 원하는 결과로 리턴이 안돼서 계속 보다가.. 혼자 웃음 ㅋㅋㅋㅋㅋㅋㅋㅋ 정규식 패턴에 해당하는 특수문자가 포함되어있으니 테스트 결과가 다를 수 밖에... ㅎㅎㅎㅎㅎ 위의 patternStr 값을 아래와 같이 변경하여 테스트 완료! var patternStr = '~!@#\\$\\%\\^\\&\\*\\(\\)_+'; 2021. 2. 17.