ES6的相關語法

·港島妹妹發表於2020-12-25
ES6的相關語法
* let,const與var關鍵字宣告變數有什麼區別:
	1. const宣告的是常量,一經宣告不允許改變。
	2. const和let都有塊級作用域的概念,而非函式作用域。
	3. const和let都不存在變數提升的操作。
	4. let有暫時性死區的特性,如果在某個作用域中使用let關鍵字宣告瞭變數,那麼在這個作用域中任何其他作用域都不允許侵入該變數。
	5. for語句列舉使用let關鍵字可以糾正自增變數的準確性.


* 箭頭函式與普通函式的不同點:1.寫法不同;2.this指向不同:箭頭函式本身不形成封閉的this作用域,也就是在函式體外邊this指向哪裡,箭頭函式的函式體內部的this就指向哪裡;

	// 箭頭函式
	// var fn2 = (num)=>{
	// 	return num
	// }
	
	// let fn2 = num => num;
	// console.log(fn2(1111))

	// console.log((num => num)(10))
	

	// $("#div1").onclick = ()=>{
	// 	console.log(this)
	// }
	
	
	$("#div1").onclick = function(){
		let type = "靈長類"
		var wangdawei = {
			name:"王大偉",
			age:18,
			sex:"male",
			// 屬性的簡寫
			type,
			sayName:()=>{
				// 這裡的this指向了div1
				// 因為箭頭函式本身不形成封閉的this作用域,也就是在函式體外邊this指向哪裡,箭頭函式的函式體內部的this就指向哪裡。
				
				console.log(this)
			}
		}
		wangdawei.sayName()

	}