el-dialog es6 字串模板_ES6 的新鮮玩意兒——塊作用域、字串模板
阿新 • • 發佈:2021-02-11
技術標籤:el-dialog es6 字串模板
對於C#人來說,我們都是習慣了在需要的時候定義變數,總是以為變數會在使用完成後自動的就清理了記憶體,不會造成變數汙染。可是js的var 變數都是函式級別的,不是使用{}引起來就好了,所以有時候會造成變數汙染錯誤。幸好es6推出了let,const也變成塊作用域了。不過我不清楚為什麼還保留著var,可能是為了相容歷史版本吧。知識點擼起,尤拉。
1、let:塊級可變作用域關鍵詞。
/***** * 測試作用域類,直接使用export進入匯出 */ class TestsScope{ testLet(){ let name = "親"; console.log(name); { //塊作用域,超出{} 將不可使用 let name1 = "您好"; console.log(name1); } console.log(name1);//超出作用域,將報Uncaught ReferenceError: name1 is not defined 錯誤 } }
呼叫html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>let</title> </head> <body> <script src="TestsScope.js"></script> <script> let testScope = new TestsScope(); testScope.testLet(); </script> </body> </html>
結果:
2、const:塊級常量作用域關鍵詞。const字面量的變數如果是基本型別,則值不可以再修改;如果是object型別,則不可以重新給予賦值,但是可以修改其內容結構的子項值。
/***** * 測試作用域類,直接使用export進入匯出 */ class TestsScope{ testLet(){ let name = "親"; console.log(name); { //塊作用域,超出{} 將不可使用 let name1 = "您好"; console.log(name1); } console.log(name1);//超出作用域,將報Uncaught ReferenceError: name1 is not defined 錯誤 } testConst(){ //const 變數對於基本型別資料是不可以再修改的 const name = "親"; console.log(name); //語法錯誤,變數值不可再修改 // name = "愛"; const obj = new Array(); console.log(obj); //變數為object型別的,可以修改內部的資料 obj.push("sdf"); console.log(obj); obj[0] = "change"; console.log(obj); //語法錯誤,obj型別不可以修改 obj=[]; } }
3、var:此修飾符的變數仍然是function級別的,擼起驗證。
/*****
* 測試作用域類,直接使用export進入匯出
*/
class TestsScope{
testLet(){
let name = "親";
console.log(name);
{
//塊作用域,超出{} 將不可使用
let name1 = "您好";
console.log(name1);
}
console.log(name1);//超出作用域,將報Uncaught ReferenceError: name1 is not defined 錯誤
}
testConst(){
//const 變數對於基本型別資料是不可以再修改的
const name = "親";
console.log(name);
//語法錯誤,變數值不可再修改
// name = "愛";
const obj = new Array();
console.log(obj);
//變數為object型別的,可以修改內部的資料
obj.push("sdf");
console.log(obj);
obj[0] = "change";
console.log(obj);
//語法錯誤,obj型別不可以修改
// obj=[];
}
/**
* 測試var
*/
testVar(){
{
var name = "親";
{
var name1="愛";
}
}
//不會報錯,會打印出 親
console.log(name);
//不會報錯,會打印出 愛
console.log(name1);
}
}
4、字串模板:我們沒有這個語法糖的時候,拼一大串字串時候,總是得非常小心翼翼的進行+++,真的一不小心就錯了。在C#中早就實現了字串模板,真的是方便。
擼起
/*****
* 測試作用域類,直接使用export進入匯出
*/
class TestsScope{
testLet(){
let name = "親";
console.log(name);
{
//塊作用域,超出{} 將不可使用
let name1 = "您好";
console.log(name1);
}
console.log(name1);//超出作用域,將報Uncaught ReferenceError: name1 is not defined 錯誤
}
testConst(){
//const 變數對於基本型別資料是不可以再修改的
const name = "親";
console.log(name);
//語法錯誤,變數值不可再修改
// name = "愛";
const obj = new Array();
console.log(obj);
//變數為object型別的,可以修改內部的資料
obj.push("sdf");
console.log(obj);
obj[0] = "change";
console.log(obj);
//語法錯誤,obj型別不可以修改
// obj=[];
}
/**
* 測試var
*/
testVar(){
{
var name = "親";
{
var name1="愛";
}
}
//不會報錯,會打印出 親
console.log(name);
//不會報錯,會打印出 愛
console.log(name1);
}
/***
* 測試字串模板變數
*/
testStringTemplate(){
let money = 100000000;
let dear = "親愛的";
let name = "愛錢的大傻憨"
let str = `${dear}${name},期待你的年終獎是${money}元`;
//不會報錯,會打印出 愛
console.log(str);
}
}
結果
好啦,此篇章到此結束,知識點比較簡單,但是非常重要,因為天天在使用。完成一篇寫作是非常開心的事情。