JavaScript 13

[JS] for문과 파이프라인 처리 속도 테스트

리팩터링 2판을 읽다 궁금해서 해보고 싶은 것들이 있었다. 나중에 해봐야지 해봐야지 하다가 오늘 드디어 해봤고... 이 글이 도움이 될지.... 다른 사람들이 볼지... 는 모르겠지만, 혹시 나처럼 궁금한 사람들도 있을 수도 있지 않을까? 하는 생각으로 블로그에 작성하기로 했다. 확인해보고 싶었던 부분 1. 반복문을 분리해서 두 번 실행하는 방식으로 로직을 나눠도 성능에 큰 영향은 없다. 2. 반복문을 파이프라인 방식으로 변경하기 1번에서 궁금한건 그냥 진짜 한 번에 하는 거랑 분리해서 두 번 하는 거랑 큰 차이가 없나? 이 정도였고, 2번이 궁금한건 파이프라인 방식으로 filter와 map을 이어 붙이는 방식과 for문 방식의 처리 속도 차이를 직접 확인해보고 싶었다. 궁금한 건 또 직접 해서 눈으로 ..

JavaScript 2022.06.09

[JS] 배열내 중복데이터 체크하기 - set() 함수

종종 코딩을 하면서 배열 내에 중복되는 데이터가 있는지 확인해보고 싶었던 적이 있었는데 최근에 set()이라는 아주 좋은 게 있다는 걸 이제야 알았다.......... const arr = ['a', 'b', 'c', 'b']; const set = new Set(arr); console.log(arr.length); console.log(set.size); arr에 보면 b 값이 2개 있는데 set 변수를 만들어서 그 안에 배열 데이터를 넣어주면 알아서 걸러준다. 위 콘솔 결과를 확인해보면 arr.length는 4 set.size는 3이 나온다. 끝이다. 두 개 값이 일치하지 않으면 중복되는 값이 있는 걸로 판단하고 이후 로직을 작성하면 된다.

JavaScript 2021.08.12

[JavaScript] 자식창에서 부모창 함수 호출

먼저 결과물 이제 소스 부모창 html window 객체 테스트부모창 자식창에서 전달 받은 값을 화면에 뿌려주고 자식창을 닫음 새창열기 부모창 js (봐둘것 : window.함수명 ) var popup; function openWindow() { console.log("openWindow"); popup = window.open('/test4', 'test', 'width=1024,height=700','_blank'); }; window.call = function (data) { console.log("자식창에서 호출"); console.log(data); var msg = '자식창에서 입력한 값 :\n' + data; $('#inputPre').html(data); }; 자식창 html window..

JavaScript 2020.11.05

[JavaScript] 클로저

내 개인적인 생각이긴 하지만 아마 자바스크립트를 사용하고 있는 사람들 중에 자신이 짠 소스 중에 클로저를 사용했는데 그게 클로저라는건 모르고 있는 사람들이 더 많을 것 같다는 생각이 든다.. 클로저라해서 closer 라고 생각했는데 closure 였음 closer: 가까이, 닫는 것 closure: 폐쇄 1. 함수 내부에 함수를 만들었을 때 내부에 만들어진 함수 2. 클로저는 차후에 외부 함수의 변수를 사용할 수 있기 때문에 대개 반환하여 사용 3. 클로저는 외부 함수의 변수에 접근할 수 있기 때문에 일반적으로 두가지 목적을 위해 사용 - 사이드 이펙트 제어하기 - private 변수 생성하기 -> 사이드 이펙트 제어하기 - 함수에서 값을 반환할 때를 제외하고 무언가를 행할 때 사이드 이펙트가 발생 - ..

JavaScript 2019.12.27

[JavaScript] replace/replaceAll/split

1. replace : 특정 문자를 찾아서 바꿈 var text = "abac"; var rs = text.replace("a", ""); console.log(rs); 단 replace는 처음 찾은 문자만 바꿈 자바스크립트에는 자바처럼 replaceAll이 없어서 따로 함수를 만들어 주거나 정규식을 사용해야함 2. replaceAll var text = "abac"; var rs = text.replace(/a/g, ""); console.log(rs); 이런식으로 정규식을 사용하면 자바의 replaceAll 처럼 사용 가능 따옴표 대신 / (슬래쉬)로 대체한 후 뒤에 옵션을 붙이는데 g: 발생 할 모든 패턴에 대한 전역 검색 i : 대소문자 구분 안함 m : 여러 줄 검색 함수를 만들어서 사용하는건 ..

JavaScript 2019.08.13