mirror of
https://github.com/airbnb/javascript.git
synced 2026-01-15 05:58:08 -05:00
Updates es5 guide with latest
This commit is contained in:
@@ -135,7 +135,7 @@
|
||||
var items = [];
|
||||
```
|
||||
|
||||
- If you don't know array length use Array#push.
|
||||
- Use Array#push instead of direct assignment to add items to an array.
|
||||
|
||||
```javascript
|
||||
var someStack = [];
|
||||
@@ -250,6 +250,7 @@
|
||||
items = [];
|
||||
|
||||
for (i = 0; i < length; i++) {
|
||||
// use direct assignment in this case because we're micro-optimizing.
|
||||
items[i] = '<li>' + messages[i].message + '</li>';
|
||||
}
|
||||
|
||||
@@ -301,7 +302,7 @@
|
||||
}
|
||||
```
|
||||
|
||||
- Never name a parameter `arguments`, this will take precedence over the `arguments` object that is given to every function scope.
|
||||
- Never name a parameter `arguments`. This will take precedence over the `arguments` object that is given to every function scope.
|
||||
|
||||
```javascript
|
||||
// bad
|
||||
@@ -447,7 +448,7 @@
|
||||
return name;
|
||||
}
|
||||
|
||||
// bad
|
||||
// bad - unnessary function call
|
||||
function() {
|
||||
var name = getName();
|
||||
|
||||
@@ -455,16 +456,21 @@
|
||||
return false;
|
||||
}
|
||||
|
||||
this.setFirstName(name);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// good
|
||||
function() {
|
||||
var name;
|
||||
|
||||
if (!arguments.length) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var name = getName();
|
||||
name = getName();
|
||||
this.setFirstName(name);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -475,7 +481,7 @@
|
||||
|
||||
## Hoisting
|
||||
|
||||
- Variable declarations get hoisted to the top of their scope, their assignment does not.
|
||||
- Variable declarations get hoisted to the top of their scope, but their assignment does not.
|
||||
|
||||
```javascript
|
||||
// we know this wouldn't work (assuming there
|
||||
@@ -665,7 +671,7 @@
|
||||
|
||||
## Comments
|
||||
|
||||
- Use `/** ... */` for multiline comments. Include a description, specify types and values for all parameters and return values.
|
||||
- Use `/** ... */` for multi-line comments. Include a description, specify types and values for all parameters and return values.
|
||||
|
||||
```javascript
|
||||
// bad
|
||||
@@ -803,6 +809,30 @@
|
||||
});
|
||||
```
|
||||
|
||||
- Place 1 space before the opening parenthesis in control statements (`if`, `while` etc.). Place no space before the argument list in function calls and declarations.
|
||||
|
||||
```javascript
|
||||
// bad
|
||||
if(isJedi) {
|
||||
fight ();
|
||||
}
|
||||
|
||||
// good
|
||||
if (isJedi) {
|
||||
fight();
|
||||
}
|
||||
|
||||
// bad
|
||||
function fight () {
|
||||
console.log ('Swooosh!');
|
||||
}
|
||||
|
||||
// good
|
||||
function fight() {
|
||||
console.log('Swooosh!');
|
||||
}
|
||||
```
|
||||
|
||||
- Set off operators with spaces.
|
||||
|
||||
```javascript
|
||||
@@ -846,7 +876,7 @@
|
||||
|
||||
// bad
|
||||
$('#items').
|
||||
find('selected').
|
||||
find('.selected').
|
||||
highlight().
|
||||
end().
|
||||
find('.open').
|
||||
@@ -861,8 +891,8 @@
|
||||
.updateCount();
|
||||
|
||||
// bad
|
||||
var leds = stage.selectAll('.led').data(data).enter().append('svg:svg').class('led', true)
|
||||
.attr('width', (radius + margin) * 2).append('svg:g')
|
||||
var leds = stage.selectAll('.led').data(data).enter().append('svg:svg').classed('led', true)
|
||||
.attr('width', (radius + margin) * 2).append('svg:g')
|
||||
.attr('transform', 'translate(' + (radius + margin) + ',' + (radius + margin) + ')')
|
||||
.call(tron.led);
|
||||
|
||||
@@ -870,8 +900,8 @@
|
||||
var leds = stage.selectAll('.led')
|
||||
.data(data)
|
||||
.enter().append('svg:svg')
|
||||
.class('led', true)
|
||||
.attr('width', (radius + margin) * 2)
|
||||
.classed('led', true)
|
||||
.attr('width', (radius + margin) * 2)
|
||||
.append('svg:g')
|
||||
.attr('transform', 'translate(' + (radius + margin) + ',' + (radius + margin) + ')')
|
||||
.call(tron.led);
|
||||
@@ -1118,17 +1148,12 @@
|
||||
// bad
|
||||
var OBJEcttsssss = {};
|
||||
var this_is_my_object = {};
|
||||
var o = {};
|
||||
function c() {}
|
||||
var u = new user({
|
||||
name: 'Bob Parr'
|
||||
});
|
||||
|
||||
// good
|
||||
var thisIsMyObject = {};
|
||||
function thisIsMyFunction() {}
|
||||
var user = new User({
|
||||
name: 'Bob Parr'
|
||||
});
|
||||
```
|
||||
|
||||
- Use PascalCase when naming constructors or classes.
|
||||
@@ -1607,6 +1632,7 @@
|
||||
This is a list of organizations that are using this style guide. Send us a pull request or open an issue and we'll add you to the list.
|
||||
|
||||
- **Aan Zee**: [AanZee/javascript](https://github.com/AanZee/javascript)
|
||||
- **Adult Swim**: [adult-swim/javascript](https://github.com/adult-swim/javascript)
|
||||
- **Airbnb**: [airbnb/javascript](https://github.com/airbnb/javascript)
|
||||
- **American Insitutes for Research**: [AIRAST/javascript](https://github.com/AIRAST/javascript)
|
||||
- **Apartmint**: [apartmint/javascript](https://github.com/apartmint/javascript)
|
||||
@@ -1616,6 +1642,7 @@
|
||||
- **Digitpaint** [digitpaint/javascript](https://github.com/digitpaint/javascript)
|
||||
- **Evernote**: [evernote/javascript-style-guide](https://github.com/evernote/javascript-style-guide)
|
||||
- **ExactTarget**: [ExactTarget/javascript](https://github.com/ExactTarget/javascript)
|
||||
- **Flexberry**: [Flexberry/javascript-style-guide](https://github.com/Flexberry/javascript-style-guide)
|
||||
- **Gawker Media**: [gawkermedia/javascript](https://github.com/gawkermedia/javascript)
|
||||
- **GeneralElectric**: [GeneralElectric/javascript](https://github.com/GeneralElectric/javascript)
|
||||
- **GoodData**: [gooddata/gdc-js-style](https://github.com/gooddata/gdc-js-style)
|
||||
@@ -1624,6 +1651,7 @@
|
||||
- **InfoJobs**: [InfoJobs/JavaScript-Style-Guide](https://github.com/InfoJobs/JavaScript-Style-Guide)
|
||||
- **Intent Media**: [intentmedia/javascript](https://github.com/intentmedia/javascript)
|
||||
- **Jam3**: [Jam3/Javascript-Code-Conventions](https://github.com/Jam3/Javascript-Code-Conventions)
|
||||
- **JSSolutions**: [JSSolutions/javascript](https://github.com/JSSolutions/javascript)
|
||||
- **Kinetica Solutions**: [kinetica/javascript](https://github.com/kinetica/javascript)
|
||||
- **Mighty Spring**: [mightyspring/javascript](https://github.com/mightyspring/javascript)
|
||||
- **MinnPost**: [MinnPost/javascript](https://github.com/MinnPost/javascript)
|
||||
@@ -1656,18 +1684,20 @@
|
||||
|
||||
This style guide is also available in other languages:
|
||||
|
||||
-  **German**: [timofurrer/javascript-style-guide](https://github.com/timofurrer/javascript-style-guide)
|
||||
-  **Japanese**: [mitsuruog/javacript-style-guide](https://github.com/mitsuruog/javacript-style-guide)
|
||||
-  **Brazilian Portuguese**: [armoucar/javascript-style-guide](https://github.com/armoucar/javascript-style-guide)
|
||||
-  **Chinese(Traditional)**: [jigsawye/javascript](https://github.com/jigsawye/javascript)
|
||||
-  **Chinese(Simplified)**: [adamlu/javascript-style-guide](https://github.com/adamlu/javascript-style-guide)
|
||||
-  **Spanish**: [paolocarrasco/javascript-style-guide](https://github.com/paolocarrasco/javascript-style-guide)
|
||||
-  **Korean**: [tipjs/javascript-style-guide](https://github.com/tipjs/javascript-style-guide)
|
||||
-  **French**: [nmussy/javascript-style-guide](https://github.com/nmussy/javascript-style-guide)
|
||||
-  **Russian**: [uprock/javascript](https://github.com/uprock/javascript)
|
||||
-  **Bulgarian**: [borislavvv/javascript](https://github.com/borislavvv/javascript)
|
||||
-  **Catalan**: [fpmweb/javascript-style-guide](https://github.com/fpmweb/javascript-style-guide)
|
||||
-  **Chinese(Traditional)**: [jigsawye/javascript](https://github.com/jigsawye/javascript)
|
||||
-  **Chinese(Simplified)**: [adamlu/javascript-style-guide](https://github.com/adamlu/javascript-style-guide)
|
||||
-  **French**: [nmussy/javascript-style-guide](https://github.com/nmussy/javascript-style-guide)
|
||||
-  **German**: [timofurrer/javascript-style-guide](https://github.com/timofurrer/javascript-style-guide)
|
||||
-  **Italian**: [sinkswim/javascript-style-guide](https://github.com/sinkswim/javascript-style-guide)
|
||||
-  **Japanese**: [mitsuruog/javacript-style-guide](https://github.com/mitsuruog/javacript-style-guide)
|
||||
-  **Korean**: [tipjs/javascript-style-guide](https://github.com/tipjs/javascript-style-guide)
|
||||
-  **Polish**: [mjurczyk/javascript](https://github.com/mjurczyk/javascript)
|
||||
-  **Russian**: [uprock/javascript](https://github.com/uprock/javascript)
|
||||
-  **Spanish**: [paolocarrasco/javascript-style-guide](https://github.com/paolocarrasco/javascript-style-guide)
|
||||
-  **Thai**: [lvarayut/javascript-style-guide](https://github.com/lvarayut/javascript-style-guide)
|
||||
|
||||
## The JavaScript Style Guide Guide
|
||||
|
||||
|
||||
Reference in New Issue
Block a user