자바스크립트 array 를 object, Map 으로 변환하기 코틀린을 쓰다보면 associate 메소드를 이용하여 리스트를 맵으로 쉽게 바꾸어 사용합니다. js, ts 에서는 코틀린의 associate 처럼 메소드로 제공되어 있지는 않지만 reduce 메소드를 이용하여 변환할 sinna94.tistory.com 여러 object로 구성된 array를 map으로 변환하고 싶은 니즈가 있어 찾아보았다. const arr = [ {email: 'abc', age: 1}, {email: 'def', age: 2}, {email: 'ghi', age: 3}, {email: 'jkl', age: 4} ]; // reduce를 사용한 방법 const map1 = arr.reduce((acc, curr) => { a..
종종 결과값이 있는지 없는지에 따라 true / false를 반환해야 하는 다음과 같은 경우가 있다. if / else 분기로 처리하는 경우 코드가 불필요하게 길어질 수 있고, 삼항연산자를 사용하면 다소 가독성이 떨어지는 경우가 있다. async function example(id) { const result = await getResult(id); // result가 falsy한 경우에 false, 아닌 경우에는 true를 반환 return result ? true : false; } 이는 느낌표 한개, 또는 두 개를 활용하여 축약할 수 있다. 해당 방식은 result가 falsy한 경우 !(result)에 의해 true가 되며, !(느낌표)를 하나 더 붙여 false로 바꾸어주는 결과를 낳는다. as..
참고 Optional chaining - JavaScript | MDN ?. 연산자는 . 체이닝 연산자와 유사하게 작동하지만, 만약 참조가 nullish (en-US) (null 또는 undefined)이라면, 에러가 발생하는 것 대신에 표현식의 리턴 값은 undefined로 단락된다. developer.mozilla.org 요약 표기: obj.prop1?.prop2?.prop3 설명: optional chaining 연산자 (??)는 복잡한 구조를 갖는 객체에서의 안전한 참조를 가능케 한다. 상세 객체의 property가 누락될 가능성이 있는 경우 일반적으로 다음과 같이 체크한다. let obj = {}; try { console.log('1.', obj.depth1.depth2); // depth1 ..
참고 Nullish coalescing operator - JavaScript | MDN 널 병합 연산자 (??) 는 왼쪽 피연산자가 null 또는 undefined일 때 오른쪽 피연산자를 반환하고, 그렇지 않으면 왼쪽 피연산자를 반환하는 논리 연산자이다. developer.mozilla.org 요약 표기 : var_A ?? var_B 의미: var_A가 nullish한 값(null 또는 undefined)인 경우 var_B를 반환하고, 그렇지 않은 경우 var_A를 반환한다. 때문에 || (OR) 연산자와는 차별점이 있다. OR 연산자는 falsy한 값에 대해 모두 반응하기 때문이다. ??와 || 비교 nullish한 값과 초기화된 변수에 대해서는 같은 동작을 보인다. const i_am_null = ..
How JavaScript works: an overview of the engine, the runtime, and the call stack As JavaScript is getting more and more popular, teams are leveraging its support on many levels in their stack - front-end, back-end… blog.sessionstack.com 참고용 글
커링이란? 커링 - 위키백과, 우리 모두의 백과사전 수학과 컴퓨터 과학에서 커링(currying)이란 다중 인수 (혹은 여러 인수의 튜플)을 갖는 함수를 단일 인수를 갖는 함수들의 함수열로 바꾸는 것을 말한다. 모지즈 쇤핑클에 의해 도입되었고[1][2][3], ko.wikipedia.org 수학과 컴퓨터 과학에서 커링(currying)이란 다중 인수(혹은 여러 인수의 튜플)을 갖는 함수를 단일 인수를 갖는 함수들의 함수열로 바꾸는 것을 말한다. 나는 커링을 '여러 매개 변수를 입력받는 함수를 단일 매개 변수를 받는 함수로 나누는' 개념으로 이해하였음. 커링은 여러 매개 변수가 필요한 함수 A를 커링 함수로 변환하여 반환하고, 이후 필요한 인자가 모두 모였을 때 A를 호출한다. 함수형 프로그래밍에서는 함수..
1. Promise 코드 예시 promise[명사] 약속 단어의 의미로 보아, javascript와 무엇인가 약속을 하는 것으로 짐작해볼 수 있다. 우선 다음의 코드 블록을 보자. function getMessage() { return "hello monkey"; } console.log("start"); console.log(getMessage()); console.log("end"); 절차적으로 실행되는 javascript의 특성상 start, hello monkey, end가 순서대로 console에 출력될 것을 어렵지 않게 짐작할 수 있다. getMessage 함수가 Promise 인스턴스를 반환하도록 다음과 같이 수정하여 실행해보자. function getMessage() { return new..
참고 [JS] primitive value JS에서의 primitive JS에서의 primitive value는 객체도 아니고, 메소드도 없는 값이다. JS의 primitive value는 다음과 같다.(ecma2020 기준) string number bigint boolean null undefined symbol 모든 primitiv.. ingnoh.tistory.com symbol은 primitive value이므로, 결국은 symbol 형식의 '값'이다! Symbol()로부터 반환되는 모든 symbol 값은 고유하다. symbol 값은 객체 프로퍼티로 사용될 수 있으며, 사실상 이것이 symbol의 유일한 목적이라고 함. 이를 통해, 같은 형식의 여러 오브젝트를 식별하는 식별자 역할을 수행할 수 ..
- Total
- Today
- Yesterday
- eureka
- javascript
- AWS IoT
- Docker
- spring boot
- postgresql
- AWS
- shell
- etc
- mysql
- Database
- react
- Git
- JEST
- Java
- hashicorp
- pgloader
- kotlin
- JPA
- terraform
- Gradle
- IntelliJ
- RancherDesktop
- Node.js
- Linux
- Spring Cloud Config
- Puppeteer
- Vault
- jQuery
- 코딩테스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |