JavaScript의 새롭고 스마트한 코드를 사용한 계산 합계 ➕ 프로그램 🔥.
10157 단어 challengefunctionaljavascript
단일 인수를 사용하고 전역 변수를 사용하지 않고 모든 이전 인수의 합계를 반환하는 JavaScript에서 함수를 만듭니다.
여기에서 우리는 항상 동일한 작업을 수행하기 위해 짧고 스마트한 🏆 코드를 찾으려고 노력합니다.
먼저 간단한 접근 방식으로 이 작업을 수행한 다음 계속 진행합니다.
When we create diagram in mind first we think to take an global variable that store data for you, But that's always a bad idea for smart 😎 developer.
function calc() {
// creating private valriable
let value = 0;
// private function
function changeBy(val) {
value += val;
}
// returning an object
return {
// add method
add: function (i) {
changeBy(i);
},
// return value
value: function () {
return value;
}
}
}
// making mycalc function with calc
let mycalc = calc()
// adding number.
mycalc.add(12)
mycalc.add(15)
// print to console
console.log(mycalc.value())
// output is 27
여기에서는 코드가 긴 것 같고 es-6 스마트 기능도 없기 때문에 시작하겠습니다 🎉.
let calc = () => {
// creating private valriable
let value = 0;
// private function
let changeBy = val => value += val;
// returning an object
return {
// add method
add: (i) => changeBy(i),
// return value
value: () => value
}
}
// making mycalc function with calc
let mycalc = calc()
// adding number.
mycalc.add(12)
mycalc.add(15)
// print to console
console.log(mycalc.value())
// still output is 27 but with smart code.
이제 코드를 보면 꽤 짧습니다.
let calc = () => {
let value = 0;
let changeVal = val => (value += val);
return {
add: (i) => changeVal(i)
}
}
하지만 우리가 private 함수를 사용하는 이유가 눈에 띕니다 😋 제거합시다.
let calc = () => {
let value = 0;
return {
add: i => value += i
}
}
더 간단하게 만들기 위해 많은 줄의 코드를 제거했지만 여전히 해당 코드에 문제가 있습니다. 매번 인수를 받아서 모든 이전 인수와 현재 인수의 합계를 반환하는 함수가 필요합니다. 그러나 함수를 사용할 때 클래스 메서드와 속성을 사용하는 것처럼 느껴지므로 이 문제를 해결해 보겠습니다.
- To solving this issue we need to wrap calc function in () parenthesis, and change the name of function calc to sum and call
that's function in sum function 😝.
- And replace object with function in return statement.
let sum = (
i => {
let v = i;
return i => v += i
}
)(0);
여기서 우리는 객체 반환 값만 반환하지 않는 것과 같이 많은 것을 변경합니다. Zero는 sum 함수의 시작 값입니다.
이제 우리의 임무가 완료되었습니다
let sum = (i => { let v = i; return i => v += i })(0);
console.log(sum(14)) /* output --> 14 */
console.log(sum(13)) /* output --> 27 */
console.log(sum(10)) /* output --> 37 */
최종 결과
let sum = (a => b => a += b )(0)
😁😁😁🎉
Reference
이 문제에 관하여(JavaScript의 새롭고 스마트한 코드를 사용한 계산 합계 ➕ 프로그램 🔥.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/dvlprroshan/a-program-of-calc-sum-with-new-and-smart-code-in-javascript-5945
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
When we create diagram in mind first we think to take an global variable that store data for you, But that's always a bad idea for smart 😎 developer.
function calc() {
// creating private valriable
let value = 0;
// private function
function changeBy(val) {
value += val;
}
// returning an object
return {
// add method
add: function (i) {
changeBy(i);
},
// return value
value: function () {
return value;
}
}
}
// making mycalc function with calc
let mycalc = calc()
// adding number.
mycalc.add(12)
mycalc.add(15)
// print to console
console.log(mycalc.value())
// output is 27
let calc = () => {
// creating private valriable
let value = 0;
// private function
let changeBy = val => value += val;
// returning an object
return {
// add method
add: (i) => changeBy(i),
// return value
value: () => value
}
}
// making mycalc function with calc
let mycalc = calc()
// adding number.
mycalc.add(12)
mycalc.add(15)
// print to console
console.log(mycalc.value())
// still output is 27 but with smart code.
let calc = () => {
let value = 0;
let changeVal = val => (value += val);
return {
add: (i) => changeVal(i)
}
}
let calc = () => {
let value = 0;
return {
add: i => value += i
}
}
- To solving this issue we need to wrap calc function in () parenthesis, and change the name of function calc to sum and call that's function in sum function 😝.
- And replace object with function in return statement.
let sum = (
i => {
let v = i;
return i => v += i
}
)(0);
let sum = (i => { let v = i; return i => v += i })(0);
console.log(sum(14)) /* output --> 14 */
console.log(sum(13)) /* output --> 27 */
console.log(sum(10)) /* output --> 37 */
let sum = (a => b => a += b )(0)
Reference
이 문제에 관하여(JavaScript의 새롭고 스마트한 코드를 사용한 계산 합계 ➕ 프로그램 🔥.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dvlprroshan/a-program-of-calc-sum-with-new-and-smart-code-in-javascript-5945텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)