나는 오늘 javascript에서 yield
키워드를 발견했으며, 현재 ECMA 6가 업그레이드되지 않은 브라우저에서는 지원되지 않는다는 것을 알고 있습니다. 한편 파이어 폭스에서, 내가 어떻게 직접 해당이 없다 yield
자바 스크립트에서 'Yield'키워드를 이해하고 계십니까?
if (currentNode) {
yield currentNode;
currentNode = null;
}
나는 오늘 javascript에서 yield
키워드를 발견했으며, 현재 ECMA 6가 업그레이드되지 않은 브라우저에서는 지원되지 않는다는 것을 알고 있습니다. 한편 파이어 폭스에서, 내가 어떻게 직접 해당이 없다 yield
자바 스크립트에서 'Yield'키워드를 이해하고 계십니까?
if (currentNode) {
yield currentNode;
currentNode = null;
}
없이 다음 코드를 다시 작성할 수 있습니다. 그러나 "생성자"객체를 반환하여이를 위조 할 수 있습니다. 기본적으로 연속 코드은 발전기의 next()
으로 이동됩니다.
function fib() {
var i = 0, j = 1;
while (true) {
yield i;
var t = i;
i = j;
j += t;
}
}
var g = fib();
for (var i = 0; i < 10; i++) {
console.log(g.next());
}
그리고 가짜 발전기 사용하여 작성된 재 :
이 fib-generator example on MDN 고려 이제이 관찰 변경 가능한 상태의 추가와 함께 약간 난이도가 될 않습니다
function fib() {
var i = 0, j = 1;
return {
'next': function() {
var yieldRet = i;
// These haven't occurred before the `yield` in the above generator,
// but it makes it easier to do it in the same order here.
// Just make sure there are no OBSERVABLE side-effects.
var t = i;
i = j;
j += t;
return yieldRet;
}
};
}
var g = fib();
for (var i = 0; i < 10; i++) {
console.log(g.next());
}
을; 주어진 예제는 여전히 상태 머신으로 표현 될 수 있습니다. 각 next
은 상태를 "전진"시킬 수 있습니다.
var currentNode;
function yield1() {
var y = { next: st0 };
return y;
function st0() {
if (currentNode) {
y.next = st1;
return currentNode;
} else {
y.next = stZ;
}
}
function st1() {
y.next = stZ;
currentNode = null; // observable side-effect!
}
function stZ() {
}
}
var g = yield1();
currentNode = "x";
console.log(g.next()); // "x"
console.log(currentNode); // still "x"
g.next();
console.log(currentNode); // null
선언 할 수있는 [자바 스크립트 ™ 문서]를 시도'수율 'like this : yield {Variable1 : value, Variable2 : value}; –
@ 노발 모한처럼 .. 뭐라고? 그게 무슨 뜻인지는 모르겠다. – user2246674
나는 JavaScript에서 WBXML 파서 (https://github.com/mozsquib/jswbxml/blob/master/wbxml.js)를 사용하고 있으며, '수확량 (Yield)'의 사용은 내 마음을 '수율'의 개념을 완전하게 파악하기 위해 돌린다. –
당신은 수 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/yield가) – RobG