본문 바로가기

Frontend/JavaScript26

[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.
[JavaScript] window.onerror 정리 화면에 잡히는 오류를 handling 해야되는 일이 생겨서 알아보고 정리하는 글. 참고 문헌 : https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror GlobalEventHandlers.onerror - Web APIs | MDN The onerror property of the GlobalEventHandlers mixin is an EventHandler that processes error events. Error events are fired at various targets for different kinds of errors: When a JavaScript runtime error (including synt.. 2021. 2. 1.
[Javascript] 자바스크립트 배열 값 중 최대값 찾기 화면단에서 최대값을 구해야하는 로직을 개발하고 있었다. 그러기 위해서는 배열로 관리하는게 편했고, 그래서 나는 자바스크립트 배열 값 중에서 최대값을 찾아야 했는데 까먹을까봐 포스팅을 한다. var arr = []; arr.push(10); arr.push(20); arr.push(30); Math.max(...arr); Math.max() 를 사용하되 그 핵심은 ... 이 부분인듯 하다 :) 2020. 7. 3.
[Javascript] Object 객체에 .forEach() 가 안먹을 때 화면단 개발을 하면서 화면에 객체를 내릴 일이 생겼다. 이 과정에서 나름 화면에 노출되는 정보를 최대한 숨기겠다고 첫 번째 방식이 아닌, 두 번째 방식인 Object 객체로 내렸다. // 이렇게 내릴까? user = [ { 'id':'vvh-avv', 'name':'홈주' }, { 'id':'hajs', 'name':'하지수' } ] // 아니야 이렇게 내리자! user = { 'vvh-avv' : '홈주', 'hajs' : '하지수' } 근데 여기서 문제는.. user 를 돌면서 이름을 가져와야 했는데 ㅜㅜ 어느 때와 같이 .forEach() 를 했는데 안먹었다. 하지만 당황하지않고 다른 방법(.map() / .reduce()) 을 써봤는데도 안되더라. 😓 여기서 내가 간과했던 점은 Object 는 I.. 2020. 5. 14.