JavaScript
호이스팅(Hoisiting)
호이스팅(Hoisting)의 개념 함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위의 최상단에 선언하는 것을 말한다. 자바스크립트 함수는 실행되기 전에 함수 안에 필요한 변수값들을 모두 모아서 유효 범위의 최상단에 선언한다. 자바스크립트 Parser가 함수 실행 전 해당 함수를 한 번 훑는다. 함수 안에 존재하는 변수/함수선언에 대한 정보를 기억하고 있다가 실행시킨다. 유효 범위: 함수 블록 {} 안에서 유효 즉, 함수 내에서 아래쪽에 존재하는 내용 중 필요한 값들을 끌어올리는 것이다. 실제로 코드가 끌어올려지는 건 아니며, 자바스크립트 Parser 내부적으로 끌어올려서 처리하는 것이다. 실제 메모리에서는 변화가 없다. 호이스팅의 범위 var 변수 선언과 함수선언문은 함수 단위 호이스팅을 한..
Math()
javascript로 알고리즘 문제를 풀거나 다양한 기능을 구현할 때 수학적인 계산을 많이 하게 되는데 사칙 연산자로는 부족한 부분이 많다. 이러한 부분을 Math()의 메서드로 해결을 많이 한다. javascript의 수학 관련 메서드를 가지고 있는 Math() 메서드에 대해 알아보자 Math.round() Math.round(x) 는 x의 값에서 제일 근접한 정수를 반환합니다. 예제 Math.round(4.7); // returns 5 Math.round(4.4); // returns 4 Math.pow() Math.pow(x, y) 는 x의 값을 y의 횟수만큼 제곱한 값을 반환합니다. Example Math.pow(2, 2); // returns 4 Math.pow(6, 2); // returns ..
[Array] forEach, map, filter, reduce
Array는 다양한 메서드를 가지고 있다. 그 중 Array의 요소들을 사용하여 원하는 배열 혹은 결과 값을 받을 수 있는 메서드 중 대중적으로 많이 사용하는 네 가지의 메서드가 있다. 1. forEach forEach() 메서드는 각 요소에 대하여 요소값과 인덱스를 활용한 함수를 작성하여 사용하는 메서드이다. 이 때 forEach는 return 값이 없다. const num = [1,2,3,4,5,6]; const init = 10; const num_forEach = num.forEach((val,cur) => { console.log(val, cur) return val + cur},init); console.log(num_forEach); // 1 0 // 2 1 // 3 2 // 4 3 // 5..