일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- styling
- vscode
- REACT
- React Native
- js
- commit
- viewcontroller
- Branch
- rn
- DevOps
- react-native
- Android
- Docker
- HTML
- npm
- npm install
- git
- shortcut
- ios
- ReactNative
- Swift
- styled-components
- JavaScript
- currying
- nextJS
- xtring.log
- Xcode
- GitLab
- github
- ES6
- Today
- Total
목록Front-End/JavaScript (11)
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..
함수 표현은 Function Literal(익명 함수; anonymous function) 이다. 이는 실행 가능한 코드로 해석 되어진다거나 변수나 데이터구조에 할당되어지고 있음을 의미한다. 즉, 해당 코드블럭이 실행코드로서 해석되어지며 동시에 코드실행에 따른 결과값을 가지거나 특정 변수에 할당된 값으로 존재한다. 이처럼 함수표현은 '함수 리터럴로 특정변수에 할당'되거나 '즉시 실행가능한 코드 블럭으로서 존재하는 함수'를 의미하는 것이다. 함수표현이 실행코드로서 해석되기 위해서는 ()를 이용하여 감싸주어야 한다. 이것을 자기호출함수(self invoking function) 라고도 한다. 자기호출함수는 재귀함수와는 다른 개념이다. 재귀함수는 함수 안에서 자신을 호출하는 형식이지만 자기호출함수는 해..
인터프린터가 JavaScript 코드를 해석함에 있어 Global 영역의 선언된 코드블럭을 최상의 Scope로 끌어올리는 것을 호이스팅(hoisting)이라 한다. Global 영역에 선언된 변수 또는 함수는 JavaScript 엔진이 가장 먼저 해석하게 된다. 단 할당 구문은 런타임 과정이 이루어지기 때문에 hoisting되지 않는다.(?) 선언문은 항시 JavaScript 엔진 구동시 가장 최우선으로 해석한다고 이해하면 쉽다. 즉, 인터프린터가 JavaScript 코드를 해석하면서 코드작성 순서에 상관없이 global 영역에 선언되어 있는 변수나 함수의 선언문들을 먼저 수집하여 전역객체의 속성으로 등록시켜 둔다는 것이다. 그렇기 때문에 전역변수와 전역함수는 JavaScript 코드의 어떠한..