1. 程式人生 > 其它 >【ES6+】002-ES6新特性:const 關鍵字、變數的解構賦值、模板字串

【ES6+】002-ES6新特性:const 關鍵字、變數的解構賦值、模板字串

技術標籤:Web字串javascriptes6

目錄

一、const 關鍵字

1、特性

2、const建立變數程式碼示例

3、宣告必須賦初始值

程式碼實現:

執行結果:

4、不允許重複宣告

程式碼實現:

執行結果:

5、值不允許修改

注意:

程式碼實現:

執行結果:

6、塊兒級作用域(區域性變數)

程式碼實現:

執行結果:

7、全部演示程式碼

8、應用場景

二、變數的解構賦值

1、什麼是解構賦值

2、程式碼演示及相關說明

3、應用場景

三、模板字串

1、概述

2、程式碼演示及相關說明

3、應用場景


一、const 關鍵字

1、特性

const 關鍵字用來宣告常量,const 宣告有以下特點:

  1. 宣告必須賦初始值;

  2. 識別符號一般為大寫(習慣);

  3. 不允許重複宣告;

  4. 值不允許修改;

  5. 塊兒級作用域(區域性變數);

2、const建立變數程式碼示例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>const</title>
	</head>
	<body>
		<script>
			// const宣告常量
			const DOG = "旺財";
			console.log(DOG);
		</script>
	</body>
</html>

3、宣告必須賦初始值

程式碼實現:

			// 1. 宣告必須賦初始值;
			const CAT;

執行結果:

4、不允許重複宣告

程式碼實現:

            // 3. 不允許重複宣告;
			const CAT = "喵喵";
			const CAT = "喵喵";

執行結果:

5、值不允許修改

注意:

對陣列元素的修改和對物件內部的修改是可以的(陣列和物件存的是引用地址);

程式碼實現:

			// 4. 值不允許修改;
			const CAT = "喵喵";
			CAT = "咪咪";

執行結果:

6、塊兒級作用域(區域性變數)

程式碼實現:

			// 5. 塊兒級作用域(區域性變數);
			{
				const CAT = "喵喵";
				console.log(CAT);
			}
			console.log(CAT);

執行結果:

7、全部演示程式碼

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>const</title>
	</head>
	<body>
		<script>
			// const宣告常量
			const DOG = "旺財";
			console.log(DOG);
			// 1. 宣告必須賦初始值;
			// const CAT;
			// 報錯:Uncaught SyntaxError: Missing initializer in const declaration
			// 2. 識別符號一般為大寫(習慣);
			// const dog = "旺財"; // 小寫也不錯
			// 3. 不允許重複宣告;
			// const CAT = "喵喵";
			// const CAT = "喵喵";
			// 報錯:Uncaught SyntaxError: Identifier 'CAT' has already been declared
			// 4. 值不允許修改;
			// const CAT = "喵喵";
			// CAT = "咪咪";
			// 報錯:Uncaught TypeError: Assignment to constant variable.
			// 5. 塊兒級作用域(區域性變數);
			// {
			// 	const CAT = "喵喵";
			// 	console.log(CAT);
			// }
			// console.log(CAT);
			// 報錯:Uncaught ReferenceError: CAT is not defined
		</script>
	</body>
</html>

8、應用場景

宣告物件型別使用 const,非物件型別宣告選擇 let;

二、變數的解構賦值

1、什麼是解構賦值

ES6 允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構賦值

2、程式碼演示及相關說明

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>解構賦值</title>
	</head>
	<body>
		<script>
			// ES6 允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構賦值;
			// 1、陣列的解構賦值
			const F4 = ["大哥","二哥","三哥","四哥"];
			let [a,b,c,d] = F4;
			// 這就相當於我們宣告4個變數a,b,c,d,其值分別對應"大哥","二哥","三哥","四哥"
			console.log(a + b + c + d); // 大哥二哥三哥四哥
			// 2、物件的解構賦值
			const F3 = {
				name : "大哥",
				age : 22,
				sex : "男",
				xiaopin : function(){ // 常用
					console.log("我會演小品!");
				}
			}
			let {name,age,sex,xiaopin} = F3; // 注意解構物件這裡用的是{}
			console.log(name + age + sex + xiaopin); // 大哥22男
			xiaopin(); // 此方法可以正常呼叫
		</script>
	</body>
</html>

3、應用場景

頻繁使用物件方法、陣列元素,就可以使用解構賦值形式;

三、模板字串

1、概述

模板字串(template string)是增強版的字串,用反引號(`)標識,特點:

  • 字串中可以出現換行符;

  • 可以使用 ${xxx} 形式引用變數;

2、程式碼演示及相關說明

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			// 宣告字串的方法:單引號('')、雙引號("")、反引號(``)
			// 宣告
			let string = `我也一個字串哦!`;
			console.log(string);
			
			// 特性
			// 1、字串中可以出現換行符
			let str = 
			`<ul>
				<li>大哥</li>
				<li>二哥</li>
				<li>三哥</li>
				<li>四哥</li>
			</ul>`;
			console.log(str);
			// 2、可以使用 ${xxx} 形式引用變數
			let s = "大哥";
			let out = `${s}是我最大的榜樣!`;
			console.log(out);
		</script>
	</body>
</html>

3、應用場景

當遇到字串與變數拼接的情況使用模板字串;