我認爲JS還能夠改進的點

曾經我一度在尋找JS的替代語言,嘗試過CoffeeScript/TypeScript/Dart(都是淺嘗)。不爲何緣由,而是當你寫的越多的JS,越以爲JS不少時候顯得很操蛋。好在ES2015Babel出來了,也讓我終止了尋找替代方案,安心的停留在了JavaScript自己。javascript

我並無很是豐厚的多語言編程經驗,但也有一絲想法,對於JavaScript來講。java

Array增長firstlast方法
let arr = [1, 2, 3];
arr.first(); //1
arr.last(); //3

固然用arr[0]arr[arr.length-1]也可以實現相同的效果,不過方案顯得不夠優雅編程


[n...m]快速生成從nm的數字數組(可用於簡潔的循環)
let arr = [0...9];
//等同於
let arr2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

[0...9].map(n => console.log(n));

提供快速檢測對象屬性是否存在的方法Object.isSet,這樣就沒必要去作嵌套式的判斷語句了,也不用擔憂拋出異常
let a = {};

if (Object.isSet(a.b.c.d)) {
    //如今a.b.c.d可以安全的調用
}

//如今只能這樣判斷.d可否被安全調用
if (a && a.b && a.b.c && a.b.c.d) {
    //如今a.b.c.d可以被安全的調用
}

Date對象的toString方法提供輸出指定格式的日期時間字符串
let d = new Date();

d.toString('yyyy-MM-dd'); //2016-01-01
//hh 12小時制 HH 24小時制
d.toString('hh:mm:ss'); //09:21:12
d.toString('HH:mm:ss'); //21:21:12

Date對象提供對年、月、日、分、秒的增減方法
let d = new Date();
//2016-01-01 09:20:20

d.years(1); //2017-01-01 09:20:20
d.years(-1); //2015-01-01 09:20:20

d.months(1); //2016-02-01 09:20:20
d.months(-1); //2015-12-01 09:20:20

d.days(1); //2016-01-02 09:20:20
d.days(-1); //2015-12-31 09:20:20

d.minutes(1); //2016-01-01 09:21:20
d.minutes(-1); //2016-01-01 09:19:20

d.seconds(1); //2016-01-01 09:20:21
d.seconds(-1); //2016-01-01 09:20:19
相關文章
相關標籤/搜索