Coding/JavaScript
-
[JavaScript] console 객체Coding/JavaScript 2020. 1. 19. 20:53
console 객체는 전역 객체라고 불리며 코드의 어느 부분에서나 이용할 수 있습니다. 특히 전역 객체들이 그렇듯 프로그램을 만들면서 필요할 때마다 사용할 수 있으며, 당연히 프로그램을 만드는데 도움을 주는 기능을 합니다. console에서 사용하는 기능들은 다음과 같습니다. console 객체 console.log 로그 찍기 console.log('안녕하세요'); console.log('%s', __filename); console.log('%s', __dirname); __filename : 파일의 경로 __dirname : 상위 폴더의 경로 console.time 시간 기록 var result = 0; console.time('duration_sum'); for (var i = 1; i
-
[Javascript] 배열 함수 filter(feat.리액트 불변성 유지)Coding/JavaScript 2019. 12. 18. 15:45
자바스크립트의 배열 내장 함수 filter는 말그대로 '필터'를 씌워 조건에 맞지 않는 원소를 걸러내는 함수입니다. 간단한 예로 알아보겠습니다. const array = [1, 2, 3]; const filterArray = array.filter(num => num > 3); filter의 파라미터에는 조건을 확인해주는 '함수'가 들어가야만 합니다. 파라미터로 넣는 함수는 true or false를 return해야 하고, false인 원소는 걸러지게 됩니다. 리액트의 불변성 유지와 무슨 관련이 있는지? 리액트의 state에서 가장 중요한 점은 불변성을 유지해 주어야 한다는 것입니다. filter 함수는 기존의 배열을 수정하는 것이 아니라, 새로운 배열을 만들어 주기 때문에 리액트의 불변성을 효율적으로 ..
-
[JavaScript] map()Coding/JavaScript 2019. 11. 29. 14:46
map 자바스크립트 배열 객체의 내장함수인 map을 이용하면 복잡한 반복과정을 쉽게 이행할 수 있습니다. const numbers = [1, 2, 3]; let result = numbers.map((v) => { return num += 1; }); console.log(numbers); // 1, 2, 3 console.log(result); // 2, 3, 4 쉽게 말하면 map은 기존에 있는 배열을 이용하여 각 인덱스마다 반복처리를 하여 새로운 배열을 만드는 역할을 합니다. 리액트에서 활용했던 ES6의 화살표 함수를 이용하면, let result = numbers.map(v => num +=1) 이렇게 더 간단하게 표현이 가능합니다. 특히 map은 리액트에서 반복되는 컴포넌트들을 렌더링할때 효과적..
-
[Javascript] var/const/letCoding/JavaScript 2019. 10. 28. 17:36
Var / Const / Let 자바스크립트 ES6 이전에서는 값을 담는 키워드로 var을 사용했습니다. var키워드는 scope가 함수 단위로, 치명적인 결점이 있습니다. function myFunction() { var a = '1'; if(true) { var a = '2'; console.log(a); // 2 } console.log(a); //2 } myFunction();맨처음 var 값을 선언하고, if문 내부에서 다른 값으로 선언했습니다. if문 내부에서 새로 선언했음에도 if문 밖에서 a를 조회하면 변경된 값이 나타납니다. 이러한 결점을 해결하기 위하여 let과 const가 등장했습니다. function myFunction() { let a = '1&..
-
[JavaScript] eval()Coding/JavaScript 2019. 9. 20. 15:42
eval() 자바스크립트에서 eval()은 xml을 파싱할때도 주로 사용하는 메소드로, '문자를 코드로 인식하게 하는 함수'입니다. 이를 이용하면 불편한 조건식/연산도 편하게 출력할 수 있습니다. 예제를 볼까요 기본적으로 str_eval의 경우 '2+2'라는 string으로 저장되므로, 첫번째 줄에는 '2+2'가 그대로 출력되어야 하는게 정상입니다. 하지만 eval을 씌워서 출력해준다면, 2+2를 문자열이 아닌 코드로 인식하기 때문에 2+2가 계산된 값인 4가 나오게 됩니다. 실행결과