Airbnb에 의해 정의 된 JS 코드 스타일을 따르려고합니다.JavaScript 함수 호출의 후행 쉼표
7.15 Functions with multiline signatures, or invocations, should be indented just like every other multiline list in this guide: with each item on a line by itself, with a trailing comma on the last item.
을하지만 할 때 다음과 같은 :
는 는 함수 호출 인수에 대한 후행 쉼표의 규칙은 상태
/* THREE.js constructor for PerspectiveCamera */
const camera = new THREE.PerspectiveCamera(
75,
window.innerWidth/window.innerHeight,
0.1,
1000,
);
구글 크롬이 다음 오류와 함께 불평 :
app.js:11 Uncaught SyntaxError: Unexpected token)
후행 쉼표를 제거하면 모든 것이 잘 동작합니다. 이 코드는 Firefox에서 잘 작동하며, Chrome에서 오늘 (11.04.2017) 일주일 전에 작업했음을 확신합니다. 이후로 코드를 변경하지 않았기 때문에 내가 작업중인 앱을 발표하고 있었기 때문에 내 동료.
참고 배열에서 후행 쉼표는 여전히 잘 작동하는지 :
testArray = [
'one',
'two',
'three',
];
사람이 동작을 설명하거나 좀 더 정보를 찾을 수있는 날 지점 수 있습니까?
우분투 16.04에서 Google 크롬 (버전 57.0.2987.133 (64 비트))을 사용합니다.
이것은 합법적 인 구문으로, miltuple 사람들이 함수에 매개 변수를 추가하는 등의 대규모 코드베이스에서 주로 사용됩니다.하지만 함수 및 배열의 length 속성에 영향을 미치기 때문에 LINTers의 설정이기도합니다. 그것은 버그를 만들 수 있습니다. 또한, IE는 그들을 좋아하지 않는다. http://stackoverflow.com/questions/7246618/are-trailing-commas-in-arrays-and-objects-part-of-the-spec – Shilly
@ Shilly - 크롬과 FF는 후행을 좋아하지 않습니다. 함수 인수에서 쉼표. – nnnnnn
사용 된 버전 및 설정에 따라 다릅니다. Imho 후행 쉼표는 피해야합니다. 따라서 나는 에어 비앤비 스타일을 좋아하지 않습니다. 그러나 그것은 개인적인 의견입니다. – Shilly