너의 방법을 잠가라🔗🔗🔗
let names = ['Tony', 'Adesh', 'Robert', 'Su Cheng'];
//want to run both filter and map on this array.
names = names.filter(someFunc).map(otherFunc);
우리는 이 확장판을 보고, 아래에서 모든 세부 사항을 설명할 것이다.체인 소개
프로그래밍의 과정은 간단한 순서 문제 해결이다.우리는 문제를 몇 개의 작은 논리적 절차로 분해하여 이 절차를 집행하는 가장 좋은 순서를 결정할 것이다.
Dell을 연결하는 방법
pure functions
과 같은 모범 사례를 활용할 수 있습니다.우리는 순수 함수로 우리의 작은 논리적 절차를 만들 수 있다.A
pure function
is one that will always provide the same output for the same input and it can't have any side effects - like changing the value of something outside the function that had nothing to do with the input or output values.
이 문장은 논리에 맞는 순서가 있다.그것은 몇 부분으로 나뉜다.이 장절들은 몇 단락으로 나누어진다.이 단락들은 몇 문장으로 나누어진다.이 문장들은 몇 개의 단어로 나뉘어져 있다.모든 단계의 순서가 매우 중요하다.어떤 단계에서든 절차를 바꾸면 강좌가 실패합니다.니 프로처럼.
링크를 연결하는 방법은 당신이 취하고 있는 절차를 아주 읽을 수 있는 방법으로 하드코딩할 수 있는 방법입니다.
let result = myobject.stepOne().stepTwo().stepThree();
체인 자물쇠는 어떻게 작동합니까
그것들을 연결하는 능력은 확실히 약간의 제한이 있다.첫 번째 단계의 결과는 다음 단계를 시작할 수 있는 대상이나 데이터 형식이어야 합니다.
JavaScript는 이러한 단계를 왼쪽에서 오른쪽으로 자동으로 읽고 수행합니다.
마지막 단계를 마쳤을 때, 결과는
=
왼쪽에 있는 대기 변수 (있을 경우) 로 되돌아와 분배됩니다.다음 방법으로 유효한 대상 유형을 되돌려주면 링크를 계속할 수 있습니다.
다음은 두 가지 내장 방법인
Number.prototype.toFixed()
과 Number.parseFloat()
을 포함하는 간단한 예입니다.let pie = '3.1415 is the approximate value of PI';
let num = parseFloat(pie).toFixed(2);
num의 값은 "3.14"입니다.전역 방법 parseFloat
은 문자열을 받아들이고 맨 왼쪽의 숫자를 추출하여 10진법을 사용할 수 있도록 합니다.그것은 하나 Number
로 되돌아갈 것이다.toFixed
방법은 Number
에서 운행할 수 있다.그것은 파라미터를 사용하고 Number
을String
의Number
등가물로 변환하여 소수 자릿수가 정확하다.이 긴 방법은 자신의 줄에 첫 번째 방법을 추가하고 중간 단계의 값을 저장하는 다른 변수를 만드는 것입니다.
let pie = '3.1415 is the approximate value of PI';
let middle = parseFloat(pie);
let num = middle.toFixed(2);
// the value of num will be "3.14"
우리의 방법을 연결하면 중간의 절차를 생략할 수 있다.추가 변수를 만들 필요가 없습니다.추가 코드 줄이 없습니다.우리는 단지 한 줄에서 절차를 읽을 수 있을 뿐이다.💯제 방법으로 해도 돼요?
자신의
Object
(s) 를 구축하고 있다면, 같은 규칙을 따르기만 하면 다음 방법에서 사용할 정확한 데이터 형식을 되돌려줍니다.다음은 한 사람의 예이다🧔 반대, 반대하다(이 대상도
class
문법으로 구축할 수 있다).const Person = function(_name){
this.name = _name;
}
Person.prototype.speak = function(_phrase){
console.log(`${this.name} says, "${_phrase}"`);
}
Person.prototype.drink = function(_beverage){
console.log(`${this.name} is enjoying a ${_beverage}`);
}
Person
대상을 사용하면 우리는 현재 한 사람을 실례화하고 이 방법을 호출할 수 있다.let rashad = new Person('Rashad');
rashad.speak('Do your homework');
rashad.drink('coffee');
모든 것이 정상이다.그러나 우리는 연쇄speak
나 연쇄drink
를 할 수 없다.두 함수 모두 기본값undefined
을 반환합니다.그러나, 만약 우리가return 문장을 추가하고 실례화된
Person
대상을 되돌려준다면.Person.prototype.speak = function(_phrase){
console.log(`${this.name} says, "${_phrase}"`);
return this;
}
Person.prototype.drink = function(_beverage){
console.log(`${this.name} is enjoying a ${_beverage}`);
return this;
}
We don't want to add a
return
to the constructor function because it has to return the newly created instance.
이제 우리는 우리의 방법을 연결할 수 있다. 그것이 작용할 것이다🙌.
let vladimir = new Person('Vladimir');
vladimir.speak('I am thirsty').drink('beer');
이렇게 너는 거의 이미 준비가 다 되었다💪.블렌드에 기능 추가
우리
Person
에는 몇 가지 간단한 방법이 있다🧔 대상이지만, 우리는 여전히 매우 간단한 코드를 사용한다.만약 우리의 방법이 내부에서 다른 함수를 호출한다면?만약 그들이 다른 함수를 제공하는 매개 변수로 받아들인다면?우리는 어떻게 링크와 방법의 순결을 유지합니까?
eat
대상에 Person
방법을 추가합니다.우리는 음식의 이름을 포함하는 문자열을 이 방법에 전달할 수 있다.그러나 하나의 함수를 전달함으로써 다른 출처에서 우리를 위해 음식을 선택할 수 있다. 이것은 더욱 현실적이고 현실적인 방법이다....아니면 왜 둘을 겸유할 수 없습니까?
우선, 우리는 새로운
eat
방법을 Person
에 추가할 것이다.🧔 반대, 반대하다Person.prototype.eat = function(source){
let food = '';
switch(typeof source){
case 'string':
food = source;
break;
case 'function':
food = source();
break;
}
console.log(`${this.name} is eating ${food}`);
return this;
}
현재 우리의 방법은 aFunction
를 받아들여 음식을 얻을 수도 있고, aString
와 음식 이름을 받아들일 수도 있다.그것은 다른 호출 방법이 있기 때문에 링크될 수도 있다.
다음은 사용할 수 있는 음식 기능의 예다.
const food = function(){
let types = ['a slice of pizza', 'two tacos', 'some sushi', 'a burrito'];
return types[Math.floor(Math.random() * types.length)];
}
현재, 우리의 새로운 방법은 체인 방법 코드의 일부분이다.let sarah = new Person('Sarah');
sarah.speak('Hello').drink('tea').eat(food).speak('That was great!');
우리는 이 코드를 실행하여 다음과 같은 결과를 얻었다.Sarah says, Hello
Sarah is enjoying a tea
Sarah is eating two tacos
Sarah says, That was great!
구부러지기 시작하다💪!상용 그룹 방법 예시
원시 예시로 돌아가서 수조 방법인
Object
과 filter
을 사용하자.let names = ['Tony', 'Adesh', 'Robert', 'Su Cheng'];
names = names.filter(someFunc).map(otherFunc);
map
방법은 함수를 매개 변수로 하고 수조의 모든 항목에 이 함수를 한 번 운행한다.Array.prototype.filter
방법의 함수는 항목별로 되돌아와야 한다filter
또는true
.false
는 예약된 품목을 나타냅니다.true
는 이 물건을 처분하는 것을 가리킨다.항목마다 함수를 한 번 호출한 후 false
방법은 함수를 기반으로 호출된 filter
와 true
응답으로 구축된 새로운 그룹을 되돌려줍니다.이 새
false
는 호출 Array
방법에 사용될 것이다.map
방법은 함수를 매개 변수로 하고 수조의 모든 항목에 이 함수를 한 번 운행한다.Array.prototype.map
방법의 함수는 원하는 내용을 되돌려줍니다.map
방법은 모든 반환 값을 포함하는 새로운 map
를 구축합니다.새로운 Array
는 시종 호출Array
방법의 Array
와 같은 항목을 가지고 있을 것이다.map
방법으로 되돌아오는 새 Array
. 링크가 없기 때문에 변수map
에 분배됩니다.이제 너는 어떻게 너를 연결하는지, 그리고 왜 네가 이렇게 하려고 하는지 알게 되었다.
정말 기쁘다!🏆🥇💯🙌
그룹, 함수, 자바스크립트, 또는 거의 모든 웹 개발 주제에 대한 정보를 알고 싶으면, 수백 개의 동영상 강좌를 보십시오.
Reference
이 문제에 관하여(너의 방법을 잠가라🔗🔗🔗), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/prof3ssorst3v3/keep-your-methods-chained-2oba텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)