ECMAScript 6 是 JavaScript 語言的最新一代標准,當前標准已於 2015 年 6 月正式發布,故又稱 ECMAScript 2015。
ES6對數據類型進行了一些擴展
在js中使用ES6必須先聲明 嚴格模式 "use strict"
let變量
let特性:
1、不允許重復聲明
2、沒有預解析。
3、塊級作用域
一對{}包括的區域稱為代碼塊
塊級作用域指一個變量或者函數只在該區域才起作用。
例:
"use strict" for(let i=0;i<10;i++){ setTimeout(function(){ console.log(i); }) } for(var i=0;i<10;i++){ setTimeout(function(){ console.log(i); }) }
從塊的開始到聲明這段的區域 稱為 暫存死區 (與預解析相似)
const常量
在定義之后值是固定不變的,即為常量
常量的值不能修改,但是如果常量保存的是一個對象,那么對象的屬性是可以被修改的。
例:
"use strict" const a = 1; a = 2; console.log(a); const b = { name:'bbbb' }; b.name = 'ccccc'; console.log(b.name);
解構賦值
ES6允許按照一定模式,從數組和對象中提取值,對變量進行賦值,這被稱為解構(Destructuring)。
數組的解構賦值:
var []按照對應的順序解構。
對象的解構賦值:
var {}按照對象里的名稱解構
例:值的交換
"use strict" var y = 1; var x = 2; var [x,y] = [y,x]; console.log(x,y);
字符串的擴展
對四個字節的字符進行操作
"use strict" var str = '𠮷'; str.at();//返回對應位置的字符 console.log(str.codePointAt(0))//返回碼點 console.log(String.fromCodePoint())//根據碼點返回字符 str.repeat(int);//將字符串賦值int次
模板字符串
模板字符串(template string)是增強版的字符串,用反引號(`)標識。它可以當作普通字符串使用,也可以用來定義多行字符串,或者在字符串中嵌入變量。
代碼中的字符串用反引號(`)表示,如果需要引入變量則使用${變量名}, 在{}中可以進行運算,也可以引用對象屬性。與php中的操作類似
"use strict" var name ='aa'; var age = 21; var str = `The name is :${name}The age is :${age}`; console.log(str);
字符串方法:
str.includes() 返回布爾值,表示是否找到了參數字符串
參數:
1、要查找的字符串
2、起始位置
str.startsWith() 返回布爾值,表示參數字符串是否在源字符串的頭部。
參數:
1、要查找的字符串
2、起始位置
str.endsWith() 返回布爾值,表示參數字符串是否在源字符串的尾部。
參數:
1、要查找的字符串
2、起始位置(針對的是n個字符)
數值的擴展
var num = 0b13; //二進制寫法 var num = 0o11; //八進制寫法 console.log(Math.trunc(1.1234)) //干掉小數點及后面數字 保留前面整數 console.log(Math.sign(-0)); //判斷參數是正數、負數、正0還是負0 console.log(Math.hypot(3,4)) //返回所有參數的平方和的平方根(勾股定理)