es6学习笔记(一)
es6 chrome兼容 ? 其他瀏覽器不太兼容,需要es6=》es5 ? babel
安裝babel ?
npm?init?-y ?初始化項目 ? -y代表全部默認同意 ?不用一次次按回車
全局安裝Babel-cli ?npm install ?-g babel-cli
本地安裝babel-preset-es2015 和 babel-cli
?npm?install?--save-dev?babel-preset-es2015?babel-cli
在根目錄下新建.babelrc文件,并打開錄入下面的代碼
{ ????"presets":[ ????????"es2015" ????], ????"plugins":[] } es6轉es5的語法? babel src/index.js -o dist/index.js webpack打包 npm run build,在package.json文件中配置 ?"scripts": { ????"build": "babel src/index.js -o dist/index.js" ??}, 然后就可以用npm run build進行轉換了第二章
3種聲明方式:
var 聲明全局變量 ?let 局部聲明,防止數據污染全局空間 ? const聲明變量 ?聲明后不改變值
第三章
變量的解構賦值
let [a,[b,c],d]=[1,[2,3],4]; let [a,b="JSPang"]=['技術胖']注意:對象的解構與數組有一個重要的不同。數組的元素是按次序排列的,變量的取值由它的位置決定;而對象的屬性沒有次序,變量必須與屬性同名,才能取到正確的值。 圓括號的使用:解構之前就定義了變量,再結構應該在解構語法外加個圓括號。
第四章?擴展運算符和rest運算符
對象擴展運算符 ...?
當編寫一個方法時,我們允許它傳入的參數是不確定的。這時候可以使用對象擴展運算符來作參數,看一個簡單的列子:
function?jspang(...arg){ ????console.log(arg[0]); ????console.log(arg[1]); ????console.log(arg[2]); ????console.log(arg[3]); } jspang(1,2,3); 控制臺輸出 ? 1,2,3,undefined,傳值即使多了也不會報錯 擴展運算符let arr1=['www','jspang','com'];
let arr2=arr1; console.log(arr2); arr2.push('shengHongYu'); console.log(arr1); 控制臺輸出["www", "jspang", "com"] ["www", "jspang", "com", "shengHongYu"]
聲明兩個數組arr1和arr2,然后我們把arr1賦值給arr2,然后我們改變arr2的值,你會發現arr1的值也改變了,因為我們這是對內存堆棧的引用,而不是真正的賦值。
?改造后: let arr1=['www','jspang','com']; //let arr2=arr1; let arr2=[...arr1]; console.log(arr2); arr2.push('shengHongYu'); console.log(arr2); console.log(arr1); rest運算符 function jspang(...arg){ for(let val of arg){ console.log(val); } } jspang(0,1,2,3,4,5,6,7); for…of的循環可以避免我們開拓內存空間,增加代碼運行效率,所以建議大家在以后的工作中使用for…of循環。
第五章 ?字符串模板
${變量} ?··(tab上的那個點)?'非常高興你能看到這篇文章,我是你的老朋友'+varible+'。這節課我們學習字符串模版。'
let blog = `<b>非常高興你能看到這篇文章</b>,我是你的老朋友${jspang}。<br/>這節課我們學習字符串模版。`;
?let result=`${a+b}`;
字符串查找
開頭是否存在: blog.startsWith(jspang);
結尾是否存在
blog.endsWith(jspang);
復制字符串
document.write('jspang|'.repeat(3));
?
數值的擴展方法:
? ? ES6 在Number對象上,新提供了Number.isFinite()和Number.isNaN()兩個方法。
? ? ES6 將全局方法parseInt()和parseFloat(),移植到Number對象上面,行為完全保持不變。
?Number.isInteger()用來判斷一個數值是否為整數。
?Math.trunc方法用于去除一個數的小數部分,返回整數部分。
?
?Math.sign方法用來判斷一個數到底是正數、負數、還是零。對于非數值,會先將其轉換為數值。
?
? ?它會返回五種值。
?
- 參數為正數,返回+1;
- 參數為負數,返回-1;
- 參數為 0,返回0;
- 參數為-0,返回-0;
- 其他值,返回NaN。
Math.cbrt方法用于計算一個數的立方根。
函數可以給初始值
function(x,y='init'){}
?
?Object.entries()方法返回一個數組,成員是參數對象自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵值對數組。
Object.fromEntries()方法是Object.entries()的逆操作,用于將一個鍵值對數組轉為對象。轉載于:https://www.cnblogs.com/xiaoyaoweb/p/8250320.html
總結
以上是生活随笔為你收集整理的es6学习笔记(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 20150504-日报
- 下一篇: 贝克汉姆-囚