JavaScript Standard Style

EnglishEspañol (Latinoamérica)FrançaisBahasa IndonesiaItaliano (Italian)日本語 (Japanese)한국어 (Korean)Português (Brasil)简体中文 (Simplified Chinese)繁體中文 (Taiwanese Mandarin)

js-standard-style

Ini adalah ringkasan dari peraturan penggunaan Javascript standard.

Cara terbaik untuk belajar tentang standard adalah dengan memasangnya pada projek Anda dan cobalah didalam kode anda.

Peraturan

console.log(value)


* **Untuk operator _ternary_** didalam setingan _multi-line_, tambahkan `?` dan `:` pada barisnya masing-masing.

eslint: [`operator-linebreak`](http://eslint.org/docs/rules/operator-linebreak)

```js
// ✓ ok
var location = env.development ? 'localhost' : 'www.api.com'

// ✓ ok
var location = env.development
  ? 'localhost'
  : 'www.api.com'

// ✗ hindari
var location = env.development ?
  'localhost' :
  'www.api.com'

Semicolons

Bacaan lanjutan

Video tambahan:

Seluruh minifier kode yang terkenal dan digunakan sekarang menggunakan AST-based minification, jadi mereka dapat menangani Javascript tanpa semicolon dengan lancar (sejak semicolon tidak wajib didalam Javascript).

Kutipan dari "An Open Letter to JavaScript Leaders Regarding Semicolons":

[Bergantung kepada pemasukan semicolon otomatis] cukup aman, dan bagus untuk JS yang valid yang mana setiap browser mengerti. Closure compiler, yuicompressor, packer, and jsmin semuadapat secara mudah me-minify. Tidak ada masalah dalam performansi.

Maaf, daripada mengedukasi kamu, orang yang memimpin komunitas bahasa ini telah memberikan kamu kebohongan dan ketakutan. Itu adalah hal yang mememalukan. Saya merekomendasikan belajar bagaimana statemen didalam Javascript diakhiri (dan dimana saat mereka tidak diakhiri), jadi kamu bisa menulis kode yang menurutmu indah.

Secara umum, \n mengakhiri statemen kecuali: 1. Statemennya memiliki parent yang belum ditutup, literal array, atau objek literal atau berakhir di suatu tempat, other way that is not a valid way to end a statement. (For instance, ending with . cara lainnya bukanlah cara yang valid untuk mengakhiri statemen. (Contoh, berakhir dengan . atau ,.) 2. Barisnya adalah -- atau ++ (yang mana akan melakukan incement/decrement token selanjutnya.) 3. Ini adalah for(), while(), do, if(), atau else, dan tidak ada { 4. Baris selanjutnya dimulai dengan [, (, +, *, /, -, ,, ., atau operator biner yang bisa hanya ditemukan diantara dua token didalam ekspresi tunggal.

Hal yang pertama cukup jelas. Bahkan JSLint ok dengan hal karakter \n didalam JSON dan konstruksi tanda kurung, dan dengan statemen var yang menjangkau beberapa baris dan berakhir dengan ,.

Yang kedua super aneh. Saya tidak pernah melihat sebuah kasus (diluar dari pembahasan ini). ketika kamu ingin menulis i\n++\nj, tapi, faktanya, potongan kode itu diurai menjadi i; ++j, bukan i++; j.

Yang ketiga mudah dipahami, jika secara umum tidak disukai. if (x)\ny() sama dengan if (x) { y() }. Konstruksinya tidak berakhir sampai itu mencapai blok lainnya, atau sebuah statemen.

; adalah statemen Javascript yang valid, jadi if(x); adalah sama dengan if(x){} atau, “Jika x, tidak melakukan apapun.” Hal ini lebih banyak digunakan didalam perulangan dimana perulangannya juga memeriksa apakah fungsinya update. Tidak biasa, tapi bukannya belum pernah dengar.

Yang keempat secara umum sama seperti kasus “oh tidak, kamu butuh semicolon!”. Tapi, seperti yang terjadi, cukup mudah untuk membetulkan barisnya dengan semicolon jika kamu tidak mengartikan barisnya adalah lanjutan dari baris sebelumnya. Contoh, daripada:

foo();
[1,2,3].forEach(bar);

Kamu bisa melakukan hal ini:

foo()
;[1,2,3].forEach(bar)

Keuntungannya adalah _prefix_nya mudah untuk diperhatikan, sekalinya kamu telah terbiasa melihat baris yang dimulai tanpa ( atau [ tanpa semicolon.