[javascript] ES6 let의 블록스코프, 렉시컬환경 for문으로 알아보자!
·
과거의 이력/javascript
ES6 등장 이전에 변수를 선언할 수 있는 유일한 방법은 var 키워드를 사용하는것 이였다. 하지만 var의 큰 단점때문에 현재는 거의 사용하지 않는다. 대신에 let과 const를 쓴다. 해당 내용은 공부한 내용을 자세하게 적어볼것이므로, 오늘은 이후에 블록스코프를 가지는 let을 for문에서 사용해보는 예제를 기록 할 것이다. 문제 let funcArr = []; for(let i = 0; i console.log(c) ); } funcArr.forEach( fn => fn() ) 해당 코드는 for문 안에 c라는 변수가 함수레벨 스코프를 가지는 var로 선언이 되어있기 때문에 최종 출력값은 > 8 8 8 8 8 이 된..
[javascript] error: Cannot read property '_wrapper' of undefined. (Vue.js 에러)
·
과거의 이력/javascript
Vue로 개발하는 과정에서 중간에 빌드 후 테스트를 하면 꼭 한번씩 발생하는 기본적인 에러이다. 오류 발생 시나리오 화면단에 새로운 클릭이벤트 기능을 추가하는 과정에서 빌드 하였을때 화면이 로딩되지 않음. 해결 template단에서 @click을 통해 함수를 호출하였으나 script 단에서 해당 함수를 정의하지 않았기 때문에 발생한 오류이다. 콘솔로그를 반환하는 빈 함수를 정의하여 해결하면 된다. 예시 @click="changeData" changeData () { console.log('temp function!') } - 참고링크 https://stackoverflow.com/questions/55552506/how-to-fix-cannot-read-property-wrapper-of-undefine..
[javascript] html2canvas로 영역 캡쳐하기 (scroll 영역부분이 캡쳐가 안된다면?)
·
과거의 이력/javascript
개념 화면의 일부 영역을 이미지 데이터로 변환하여 사용해야할 필요가 있어서 자바스크립트 브라우저 화면 캡쳐 라이브러리인 html2canvas 를 사용하기로 했다. * 공식사이트 https://html2canvas.hertzen.com/ 나는 버튼 클릭이벤트가 발생하면 특정 영역을 이미지로 따와야했기 때문에 해당 함수 호출부분에 아래와같은 코드를 추가하였다. html2canvas(textArea, { }).then(canvas => { const textToImg = canvas.toDataURL() }) 나는 이미지를 서버에 저장할필요가 없이 변환된 데이터값만 필요했기때문에 textToImg 변수로 담아 사용하였다. 만약 서버에 이미지를 다운받아야 한다면, 아래와 같이 사용할 수 있다. html2canv..
[javascript] Array.forEach 자주하는 실수(some, every 사용하기)
·
과거의 이력/javascript
자주하는 실수 오늘 설명할 forEach, some, every는 특정 조건을 만족하는지 배열 내부의 원소를 순회하면서 검사한다. some은 특정 조건이 만족할 경우 순회가 중단되고 every는 특정 조건을 만족하지 않을 경우 순회가 중단된다. 반면에 forEach는 순회가 중단되지 않는다. 즉! break를 지원하지 않는다는것! 설명 해시 알고리즘 문제를 풀면서 배열에 forEach문을 이용해 코딩을 했다. 중도에 조건을 만족하면 ealry return 하도록 코드를 짰는데 조건을 만족해도 배열 끝까지 명령문이 계속 수행이 되더라,, 흐음. 그래서 찾아보니 array.forEach()는 break를 지원하지 않는데 중도에 return을 시키려니 원하는 결과가 안나왔던 것이다. 예를들어 아래와같은 코드를..