標籤:設定 之間 select 變數賦值 添加 ora user 擴充運算 length
1、ES6提出了兩個新的聲明變數的命令:let和const。其中,let完全可以取代var,因為兩者語義相同,而且let沒有副作用。
2、var命令存在變數提升效用,let命令沒有這個問題。建議不再使用var命令,而是使用let命令取代。
3、在let和const之間,建議優先使用const,尤其是在全域環境,不應該設定變數,只應設定常量。 JavaScript 編譯器會對const進行最佳化,所以多使用const,有利於提供者的運行效率。所有的函數都應該設定為常量。
4、靜態字串一律使用單引號或反引號,不使用雙引號。動態字串使用反引號。
// badconst a = "foobar";const b = ‘foo‘ + a + ‘bar‘;// acceptableconst c = `foobar`;// goodconst a = ‘foobar‘;const b = `foo${a}bar`;const c = ‘foobar‘;
5、使用數群組成員對變數賦值時,優先使用解構賦值。函數的參數如果是對象的成員,優先使用解構賦值。如果函數返回多個值,優先使用對象的解構賦值,而不是數組的解構賦值。這樣便於以後添加傳回值,以及更改傳回值的順序。
// badfunction getFullName(user) { const firstName = user.firstName; const lastName = user.lastName;}// goodfunction getFullName(obj) { const { firstName, lastName } = obj;}// bestfunction getFullName({ firstName, lastName }) {}
6、單行定義的對象,最後一個成員不以逗號結尾。多行定義的對象,最後一個成員以逗號結尾。
如果對象的屬性名稱是動態,可以在創造對象的時候,使用屬性運算式定義。
// badconst obj = { id: 5, name: ‘San Francisco‘,};obj[getKey(‘enabled‘)] = true;// goodconst obj = { id: 5, name: ‘San Francisco‘, [getKey(‘enabled‘)]: true,};
7、使用擴充運算子(...)拷貝數組。
// badconst len = items.length;const itemsCopy = [];let i;for (i = 0; i < len; i++) { itemsCopy[i] = items[i];}// goodconst itemsCopy = [...items];
8、使用Array.from方法,將類似數組的對象轉為數組。
const foo = document.querySelectorAll(‘.foo‘);const nodes = Array.from(foo);
js-ES6學習筆記-編程風格(1)