JavaScript 표현식에서 쉼표는 무엇을합니까?
내가 사용하는 경우 :
1.09 * 1; // returns "1.09"
하지만 내가 사용한다면 :
1,09 * 1; // returns "9"
1,09가 숫자가 아니라는 것을 알고 있습니다.
마지막 코드에서 쉼표는 무엇을합니까?
더 많은 예
if (0,9) alert("ok"); // alert
if (9,0) alert("ok"); // don't alert
alert(1); alert(2); alert(3); // 3 alerts
alert(1), alert(2), alert(3); // 3 alerts too
alert("2",
foo = function (param) {
alert(param)
},
foo('1')
)
foo('3'); // alerts 1, 2 and 3
쉼표 연산자는 두 피연산자 (왼쪽에서 오른쪽으로)를 모두 평가하고 두 번째 피연산자의 값을 반환합니다.
출처 : https://developer.mozilla.org/en/JavaScript/Reference/Operators/Special_Operators/Comma_Operator
예를 들어 표현식은로 1,2,3,4,5
평가됩니다 5
. 분명히 쉼표 연산자는 부작용이있는 작업에만 유용합니다.
console.log(1,2,3,4,5);
console.log((1,2,3,4,5));
더 고려해야 할 사항 :
console.log((0, 9));
console.log((9, 0));
console.log(("foo", "bar"));
보라 여기 - 쉼표는 여러 표현 / 문을 의미합니다. 예를 들어 코드에서 다음과 같은 줄을 사용할 수 있습니다.
var a=0, b=0, c=0;
이것은 작성하지 않고 세 변수를 모두 선언합니다.
var a=0;
var b=0;
var c=0;
도움이되기를 바랍니다.
쉼표 연산자는 두 피연산자 (왼쪽에서 오른쪽으로)를 모두 평가하고 피연산자의 값을 반환합니다second
.
https://stackoverflow.com/a/3561056/5934465
이럴거야!
쉼표 연산자는 각 피연산자 (왼쪽에서 오른쪽으로)를 평가하고 피연산자의 값을 반환합니다
last
.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator
객체에 속성을 추가 / 수정 하고 같은 줄에 반환하는 것은 가능한 사용 사례입니다.
console.log(
((x) => (o = {biggerCond: r => r >= x},
o.r5 = Array.from(window.crypto.getRandomValues(new Uint16Array(5))),
o.isAnyBigger = o.r5.some(o.biggerCond),
o.bigger = o.isAnyBigger ? o.r5.filter(o.biggerCond) : [x], o )
)(5e4)
);
// Example
// {
// bigger: [58414, 56500, 63397],
// isAnyBigger: true,
// isBiggerCond: r => r >= x,
// r5: [58414, 12015, 56500, 63397, 43861]
// }
위의 익명 함수는 입력 값보다 큰 임의 값을 가진 객체를 반환하거나,없는 경우 bigger
속성 에 포함 된 배열에 입력 값 자체를 포함 합니다.
It is still syntactic sugar (like arrow functions), but it does shorten the number of lines... I wonder if some JS minifiers detect and adjust the code in a similar way automatically. Run it in your console:
((x)=>(o={biggerCond:r=>r>=x},o.r5=Array.from(window.crypto.getRandomValues(new Uint16Array(5))),o.isAnyBigger=o.r5.some(o.biggerCond),o.bigger=o.isAnyBigger?o.r5.filter(o.biggerCond):[x],o))(5e4)
참고URL : https://stackoverflow.com/questions/3561043/what-does-a-comma-do-in-javascript-expressions
'Program Tip' 카테고리의 다른 글
연관성과 종속성의 차이점은 무엇입니까? (0) | 2020.10.11 |
---|---|
Scala의 apply () 메서드 매직은 어떻게 작동합니까? (0) | 2020.10.10 |
힘내 및 하드 링크 (0) | 2020.10.10 |
github는 프로젝트의 언어를 어떻게 알아 내나요? (0) | 2020.10.10 |
Visual Studio로 TypeScript 코드 디버깅 (0) | 2020.10.10 |