ES6里面,變量表示方法不再只有var 一種,而變成了三種。
var , let, const
let 和var 的區別呢,是無法定義let 兩次,但是內容還是可以換的。
這避免了不小心覆蓋了變量的可能性。
let oop = '00p' oop=23; console.log(oop); //23 ____________________________ let oop = '00p' let oop=23; console.log(oop); // SyntaxError: Identifier 'oop' has already been declared
而const ,顧名思義,可以用來定義靜態變量。比如PI.
const pi = 3.414; const pi = 0; //SyntaxError: Identifier 'pi' has already been declared //而如果用 pi = 0; //TypeError: Assignment to constant variable. //但是有一種例外,用const 定義對象的情況下,對象屬性可以被重新定義。 const loops ={p:'lol',a:'pp',x:'oo0'} loops.x= 1 ; console.log(loops.x);//1
ES6的匿名函數的表示方法,從以前的
function (){};
這種形式,變成了()=>{} ,的形式,也就是把 關鍵字function 變成了‘=>’還挪到了()后面。
如果只有一個參數的情況下()也可以省略。
ES6里面,不再采用之前那種 如果字符串和變量一起返回,用‘+’來拼接的形式了。
而是 采用``這個符號包圍字符串和變量。用${}包裹着變量,而字符串不需要處理。
${}里面不僅僅可以包含變量還可以包含代碼。
有點類似於PHP的樣子。
例子:
const aArray = ['w','b','c']; console.log( `hey,${aArray.map(item =>{if(item =="c") return`${item} is the item `}).join('')}` )
有時候,匿名函數連{}都可以不要,直接用``就可以了。
const aArray = ['w','b','c']; console.log( `hey, ${aArray .map(item =>`${item} is there.`) .join('')}` )