Languages/Javascript
JS에서 string을 number로 바꾸는 방법들
자바스크립트는 변수 타입을 지정하지 않고 사용한다. 하지만 === 연산자 등을 사용할 경우 변수의 타입을 맞춰줘야 하고, 0과 "0"은 서로 falsy, truthy 값이라서 구분 할 필요는 있다. 최근 읽은 기사에서 string을 number로 바꾸는 여러 방법들을 보고 이를 정리해 보았다. 1. Number() const quantity = "12"; console.log(Number(quantity)); // 12 무난하고 자주 사용되는 용법이다. 직관적으로 나타내어지고, 정수와 소수 모두 사용가능하다. 2. parseInt() const quantity = "12.5"; console.log(parseInt(quantity)); // 12 parseInt는 주로 소수의 버림이나 n진법 만들기 용으..
Closure &Scope chain
스코프 체인 자바스크립트는 스코프라는 개념이 있다. 스코프는 유효범위를 뜻하고, 크게는 함수 레벨 스코프와 블록 레벨 스코프가 있다. var로 선언한 변수는 함수 레벨 스코프를 따르는데, var은 옛 것이므로 생략하면 let과 const는 블록 레벨 스코프를 따른다. 이 때 블록은 {}를 뜻한다. 따라서 자바스크립트는 {}안에서만 같은 레벨인 것이다. 하지만 같은 스코프 안의 변수만을 사용할 수는 없다. 이 때 필요한 것이 스코프 체인이다. 스코프 체인은 하위 스코프가 상위 스코프를 참조하는 것을 의미한다. const a = 10; { console.log(a); // 10 } 콘솔이 찍히는 곳은 글로벌 안의 하위 스코프지만, 해당 스코프에 a가 선언되어 있지 않으므로 상위 스코프에서 a를 가져온다. c..
Javascript-1d or 2d array 간단히 만들기
js에서 for문을 돌리지 않고 배열을 만들고 싶어서 찾아보던 중 간단하고 멋진 스택들을 찾아냈습니다. 1. new Array를 사용하는 경우 const arr1d = new Array(2).fill(0); // [0, 0] const arr2d = new Array(2).fill(null).map(() => new Array(3).fill(0)); // [[0, 0, 0], // [0, 0, 0]] new Array를 이용해 length값을 주어서 배열을 만드는 스택입니다. .fill은 하지 않아도 되지만, fill을 사용하지 않으면 배열의 값이 아무것도 들어있지 않아서 forEach 등의 메서드가 아예 먹히지 않을 수 있습니다. 따라서 null이나 0등의 값으로 초기화 할 것을 추천드립니다. 2. A..
Javascript-map
JS의 map 메서드는 배열 내의 모든 원소에 callback 함수를 실행하는 메서드입니다. reduce와 동일한 일을 한다고도 볼 수 있지만 return 값이 다릅니다. reduce의 리턴은 하나의 값이지만, map의 리턴은 배열입니다. 예를 들면 reduce는 한 배열의 모든 원소를 더해서 하나의 sum 을 구할 때 사용하고 map 은 한 배열의 모든 원소 각각에 * 2 를 하여 새로운 배열을 구할 때 사용합니다. // sum reduce const sum = [0, 1, 2, 3].reduce( ( accumulator, currentValue ) => accumulator + currentValue, 0 ); // return is 6 // multiple map const map1 = [0, 1..
Javascript-reduce
JS의 reduce 메서드는 빈 원소를 제외하고 배열 내의 모든 원소에 callback 함수를 실행하는 메서드이다. 말만 듣고는 잘 이해가 안간다. 배열의 모든 원소를 합치는 예시는 아래와 같다. var sum = [0, 1, 2, 3].reduce(function (accumulator, currentValue) { return accumulator + currentValue; }, 0); reduce안에 accumulator와 currentValue 를 합치는 function이 있고, 그 function이 [0, 1, 2, 3]을 돌면서 모든 원소에 작동하므로 원소의 모든 합인 6을 반환다. accumulator와 currentValue 말고도 다른 input이 있다. callback accumul..