[TIL] 23.04.07.

2023. 4. 7. 20:37개발일기

오늘의 학습 내용

  • 알고리즘 마라톤
  • 자바스크립트 구조 이해

새로운 배움

1. `통상적으로` 쓰이고 있는 자바스크립트 코드 규칙

상황 

코딩테스트 문제를 풀기 위해 원하는 로직을 수행하는 메서드가 있는지 검색하고 있었다.

자바스크립트 Array를 생성하면서 동시에 등차수열을 Array에 넣어둔 채로 초기화하고 싶어서 구글링을 하던 과정에서 적합한 방법을 찾아서 시도해 보았다.

 

 

How to create an array containing 1...N

I'm looking for any alternatives to the below for creating a JavaScript array containing 1 through to N where N is only known at runtime. var foo = []; for (var i = 1; i <= N; i++) { foo.pus...

stackoverflow.com

해당 페이지에서 특정 사이즈의 어레이를  선언과 동시에 초기화 하면서 값을 넣어주기 위해 포문이 아닌 다른 방법으로 제시해준 것들 중에서 Array.from() 을 사용해서 구현해 보았다.

 

구현한 코드는 다음과 같다.

 

 let costArr = Array.from(Array(count), (_,i) => costCalculater(i))
    console.log(costArr) // 비용배열 [3*1, 3*2, 3*3, 3*4]

 

받아오는 count값으로 Array 생성자를 통해 빈 array객체를 만들고 해당 객체에 Array.from을 사용해서 costCalculater(i) 함수를 호출하며 return 값으로 등차수열을 costArr에 넣는 과정이었다.

 

문제 

간단한 코드인데 이해가 되지 않았다.

저 언더바는 뭐지?..  배열의 모든 요소에 매핑되는 함수의 매개변수 중에 '_'가 이해되지 않았다.

_를 콘솔로 찍어보거나 타입을 확인하면 undifined가 나온다...뭐지..저기에 _가 들어가면 무슨 효과가 있는거지?

 

시도 

처음엔 _가 자바스크립트 내에서 유효한 의미를 가지는 것이라고 생각하고 열심히 구글링 해보았지만 나오지 않았다.

계속 구글링을 하다보니 나같은 궁금증을 가진 사람의 질문을 발견했다.

 

What is the underscore "_" in JavaScript?

I'm doing a redux tutorial, and I saw a call like this: this._render(); and it's defined elsewhere as: _render() { .... } What is the underscore "_"? Why is it used?

stackoverflow.com

이분은 나와는 다르게 함수의 매개변수가 아니라 선언부에 _를 입력하는 것에 대해 질문을 하고 있었다.

답변은 그저 의미없는 문자일뿐이고 통상적으로 쓰는 규칙일 뿐이라고 말하고 있었다.

코드컨벤션 등을 살펴보다보면 명명규칙이 다양하게 있기 때문에 (jQuery로 사용하는 변수의 경우 변수명에 $를 붙여서 선언한다던가..)

명명을 할때 _ 언더스코어를 사용하는것은 규칙중에 하나란 것은 쉽게 받아들였지만 여전히 내 코드의 _ 는 특별한 기능이 있을것이라는 생각을 하며 검색을 반복했다.

 

해결 

결국 다른 분의 손까지 빌려 구글링을 하던중 해답을 찾게 되었다. 함수의 매개변수명을 _로 선언하는것 또한 규칙이라는 것이다.

코드를 보는 사람이 명시적으로 해당 매개변수는 사용하지 않고 두번째 오는 변수인 인덱스만 사용하겠다는 것을 알수 있도록 하는 통상적인 규칙이라고 한다.

 

느낀점 

코드 컨벤션이 작다면 작은 부분일 수있지만, 또 기술적인것 외에 협업에만 영향을 끼치는 것이고 회사마다 다르기 때문에 가벼이 여겼는데

다른 사람들의 코드를 빠르게 이해하기 위해선 코드컨벤션에 대한 생각도 늘 하면서 코드를 짜고 또 봐야겠다고 생각했다.

 

관련글 

2023.04.07 - [공부/알고리즘] - 부족한 금액 계산하기

 

부족한 금액 계산하기

부족한 금액 계산하기 코딩테스트 연습>위클리 챌린지>부족한 금액 계산하기 문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다.이 놀이기구의 원래 이용료는 price원 인데

youngsimi.tistory.com

 

'개발일기' 카테고리의 다른 글

[TIL] 23.04.11.  (0) 2023.04.11
[TIL] 23.04.10.  (0) 2023.04.11
[TIL] 23.04.08.  (0) 2023.04.08
[WIL] 23.04.03. - 23.04.06.  (0) 2023.04.07
항해 99 1주차 토이프로젝트 주간 회고  (0) 2023.04.05