일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- Docker
- styled-components
- git
- Xcode
- rn
- currying
- Swift
- DevOps
- styling
- npm
- JavaScript
- REACT
- viewcontroller
- js
- ES6
- Android
- shortcut
- GitLab
- Branch
- HTML
- npm install
- xtring.log
- vscode
- ios
- ReactNative
- nextJS
- react-native
- commit
- React Native
- github
- Today
- Total
목록JavaScript (8)
xtring.dev
🕺 원문 https://blog.logrocket.com/understanding-javascript-currying/ Understanding JavaScript currying - LogRocket Blog Learn what currying is in Javascript, why and where you should use currying, and how to implement it with code examples blog.logrocket.com Currying은 람다 계산법 컨셉이지만 걱정할 필요없습니다.(간단합니다!) Currying은 한번에 하나의 인자(argument)를 가지고 다음 인자를 함께 새로운 함수에 반환하는 함수입니다. 함수를 f(a, b, c)로 호출할 수 있는 함수에서 f(..
null 병합 연산자 null 병합 연산자(nullish coalescing operator)라고 불리는 ??에 대해서 알아 봅시다. ??를 사용하면 짧은 문법으로 여러 피연산자 중 그 값이 '확정되어있는' 변수를 찾을 수 있습니다. a ?? b의 결과는 아래와 같습니다. a가 null 또는 undefined가 아니면 a 그 외의 경우는 b(a가 null 또는 undefined) null 병합 연산자 ?? 없이 x = a ?? b와 동일한 동작을 하는 코드를 작성하면 다음과 같습니다. x = (a !== null && a!== undefined) ? a : b; 이 길어지는 코드를 간단하게 표현할 수 있습니다. 하나의 예시를 더 보겠습니다. let firstName = null; let lastName ..
헷갈리는 부분을 다시 한번 정리하고자 작성했습니다. 정확히 알고 가면 많은 실수를 줄일 수 있습니다. Boolean형 비교 Boolean형의 비교 연산은 하나의 값을 반환합니다. - true가 반환되면, "긍정", "참", 사실"을 의미합니다.(= 1 또는 그 이상의 양수) - false가 반환되면, "부정", "거짓", "사실이 아님"을 의미합니다.(= 0 또는 그 이하의 음수) 예시) console.log(2 > 1);// true console.log(2 == 1); // false console.log(2 != 1);// true 반환된 Boolean값은 다른 값들 처럼 변수에 할당하는 것이 가능합니다. let result = 5 > 4;// 비교연산의 결과를 result에 할당 console.l..
웹 IDE에서 실행 시켜본 결과 위와 같은 결과가 나왔습니다. 작성중...
Arrow function Expression function 표현에 비해 구문이 짧고 자신의 this, argument, super 또는 new.target을 바인딩하지 않습니다. Arrow function은 항상 익명이며 이 함수 표현은 메소드 함수가 아닌 곳에 적합합니다. 그래서 생성자로서 사용할 수 없습니다. Arrow(화살표) function은 => 문법을 사용하는 축약형 함수입니다. 표현식의 결과값을 반환하는 표현식 본문(expression bodies)뿐만 아니라 상태 블럭 본문(statement block bodies)도 지원합니다. 일반 함수의 자신을 호출하는 객체로 가리키는 dynamic this와 달리 arrows 함수는 코드의 상위 스코프(lexical scope)를 ..
함수선언은 Function Statement라고도 하며 해석 그대로 함수 문장라는 뜻이다. 이는 곧 실행가능한 코드블럭이 아니며 함수의 정의를 나타내는 문장으로 해석된다. 따라서 코드해석에 따른 수행결과가 존재하지 않는다는 것을 의미한다. 여기서 Statement 라는 개념을 잘 집고 넘어가야 한다. 함수 선언문은 Statement 이며 즉, 코드블럭 자체는 실행가능 코드가 아니라는 것이다. 따라서 코드 블럭을 콘솔에서 실행하여도 어떠한 결과도 return 되지 않는다. 그렇기 때문에 함수선언문을 Class와 동일한 개념으로 이해하여도 무방하다. // Function Declarations function foo() { console.log('hello'); } 이러한 statement는 consol..
Currying은 JavaScript에 대한 깊은 이해를 제공합니다. Arrow funtion과 함께 어떻게 수행되는지 알아봅시다! What is Currying? Haskell B. Curry이 제시한 ES6의 새로운 Function 정의방법으로 기존의 Function 정의 시에 한번에 여러 개의 argument 불러오는 방식에서 argument 1개만으로 Function을 정의하는 방식입니다. Currying은 lamda calculus를 통해 하나 이상의 인수를 가진 함수로 하나 이상의 인수를 가진 함수를 줄이는 프로세스입니다. 말로만 설명하기에는 한번에 알기 어려운 개념인 것 같습니다. 아래 코드를 보겠습니다. curryedMultiply = (n) => (m) => n * m cu..
undefined와 null 'undefined'와 'null'은 같은 의미를 가지면서 또 다르게 다름을 가진 값입니다. 이 둘의 정확한 차이점을 안다면 변수에 잘못 할당된 값들을 빠르게 캐치할 수 있습니다. undefined undefined가 부여되는 경우 1. 사용자가 명시하는 경우 2. 자바스크립트 엔진이 자동으로 부여 사용자가 변수에 undefined를 부여하는 경우는 사실상 '의미없는 부여'로 특별히 할 얘기는 없습니다. 대신 자바스크립트 엔진이 변수에 자동으로 undefined를 부여하는 경우에 대해 알아 봅시다. 자바스크립트 엔진이 변수에 undefined를 자동으로 부여하는 경우는 3가지 a. 값을 대입하지 않은 변수, 즉 데이터 영역의 메모리 주소를 지정하지 않은 식별자에 접근할 때 b..