본문 바로가기

개발 179

[자바스크립트] 파라미터를 건드려보자. currying 에 대하여 커링 (Currying) 은 프로그래밍 중급 기술이다. 나도 아직 현업에서 제대로 구현해서 "와 너무 편하다, 좋다"라고 느낀 적은 없다. 하지만 쓸 수 있는 상황이 언젠가 오지 않을까 라는 생각만 가지고 배웠다. Currying 은 1967년 Christopher Strachey 가 Haskell Brooks Curry의 이름에서 착안한 것이다. Currying은 여러 개의 인자를 가진 함수를 호출할 경우, 파라미터의 수보다 적은 수의 파라미터를 인자로 받으면 누락된 파라미터를 인자로 받는 기법이다. 또한 커링이라는 개념은 자바스크립트뿐 만 아니라 다른 언어에도 있다. 단지 구현 로직만 다를 뿐이다. 기술적으로 커링은 f(a, b, c)처럼 단일 호출로 처리하는 함수를 f(a)(b)(c)와 같이 각각의.. 2021. 2. 22.
[자바스크립트] 객체를 복사하는 다양한 방법에 대하여 자바스크립트의 객체의 복사는 크게 얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy)로 나눠진다. 다음 예를 보자 let stock = { name : "apple" }; let myStock = stock; console.log(stock.name) // apple console.log(myStock.name) // apple console.log(stock.name == myStock.name) // true console.log(stock.name === myStock.name) //true 우리가 흔히 알고 있듯이, 객체의 변수가 다른 변수에 할당되어 Call by reference (참조) 가 일어났고 한 데이터를 변경하면 같은 참조를 가진 값도 변한다. let stock = {.. 2021. 2. 22.
[인터뷰] 프론트 앤드 인터뷰 질문 ( Feat.VoyagerX ) 내가 가고 싶은 기업 중 하나인 VoyagerX의 인터뷰 질문에 관한 글이다. 학부 3학년 말에 Vrew의 초기 모습을 보고 감명을 받았다. 유저가 불편해하는 부분을 컴퓨터로, 그중에서도 머신러닝을 이용해 해결했다는 점이 참 멋지다고 느꼈다. 그때 나는 친구들과 창업을 했었다. 그래서 여기저기 많은 곳을 쏘아 다녔고 가끔씩 VoyagerX 대표 남세동님이 발표하는 세션을 몇 번 봤었다. 그때 뭔가 알 수 없는 선망을 했었다. 그래서 창업을 했는데도 그냥 면접을 보고 싶다고 메일을 보냈고 실제로 면접을 봤었다. ( 만약 붙었으면 어찌했을까 라는 다소 책임감 없는 상상도 해봤었다 ) 결과부터 말하자면 떨어졌다. 아직 졸업시기도 아닌 나에게 각 파트의 리더님, 그리고 남세동님께서 한 시간 넘게 1대 4로 면접.. 2021. 2. 20.
[자바스크립트] primitive, 그 중에서도 null 에 대하여 null 은 자바스크립트의 원시값(primitive) 중 하나로, 어떤 값이 의도적으로 비어있음을 표현하여 boolean 연산에서는 false 로 취급하는 값입니다. null 에 대해 깊게 들어가기 전에 원시값(primitive)에 대해 간략히 설명하고 넘어가겠습니다. In JavaScript, a primitive (primitive value, primitive data type) is data that is not an object and has no methods. There are 7 primitive data types: string, number, bigint, boolean, undefined, symbol, and null. MDN 공식 사이트를 보면 자바스크립트에서는 7개의 원시값(pr.. 2021. 2. 17.