ES6常用語法

2021-09-28 17:05:26 字數 4426 閱讀 9946

/*

宣告變數let和const

*/// let宣告的變數不存在預解析

console.log(flag);

var flag = 123;

let flag = 456;

// ------------------------

// let宣告的變數不允許重複(在同乙個作用域內)

let flag = 123;

let flag = 456;

console.log(flag);

// --------------------------

// es6引入了塊級作用域

// 塊內部定義的變數,在外部是不可以訪問的

if(true)

console.log(flag);

for (let i = 0; i < 3; i++)

console.log(i);

// ---------------------------------------

// 在塊級作用域內部,變數只能先宣告再使用

if(true)

// ****************************************

// const用來宣告常量

// const宣告的常量不允許重新賦值

const n = 1;

n = 2;

// --------------------------------

// const宣告的常量必須初始化

const abc;

/*

變數的解構賦值

*/// 陣列的解構賦值

let [a,b,c] = [1,2,3];

let [a,b,c] = [,123,];

let [a=111,b,c] = [,123,];

console.log(a,b,c);

// 物件的解構賦值

let = ;

let = ;

// 物件屬性別名(如果有了別名,那麼原來的名字就無效了)

let = ;

console.log(foo,bar);

// 物件的解構賦值指定預設值

let = ;

console.log(abc,bar);

let = math;

console.log(typeof cos);

console.log(typeof sin);

console.log(typeof random);

// --------------------------------------

// 字串的解構賦值

let [a,b,c,d,e,length] = "hello";

console.log(a,b,c,d,e); //h e l l o

console.log(length);

console.log("hello".length);

let = "hi";

console.log(length);

/*

字串相關擴充套件

includes() 判斷字串中是否包含指定的字串(有的話返回true,否則返回false)

引數一:匹配的字串;引數二:從第幾個開始匹配

startswith() 判斷字串是否以特定的字串開始

endswith() 判斷字串是否以特定的字串結束

模板字串

*/// console.log('hello world'.includes('world',7));

// let url = 'admin/index.php';

// console.log(url.startswith('aadmin'));

// console.log(url.endswith('phph'));

// ----------------------------------

let obj =

let tag = ''+obj.username+'

'+obj.age+'

'+obj.gender+'

';console.log(tag);

// 反引號表示模板,模板中的內容可以有格式,通過${}方式填充資料

let fn = function(info)

// 這個單引號是用鍵盤上左上角的按鍵打出來的(ecs下面)

let tpl = `

$$$$$

`;console.log(tpl);

/*

函式擴充套件

1、引數預設值

2、引數解構賦值

3、rest引數

4、...擴充套件運算子

*/// 引數預設值

function foo(param = 'nihao')

foo('hello kitty');

// ----------------------------------

function foo(uname='lisi',age=12)

// foo('zhangsan',13);

foo();

// 引數解構賦值

function foo(={})

foo();

// --------------------------------------

// rest引數(剩餘引數)

function foo(a,b,...param)

foo(1,2,3,4,5);

// 擴充套件運算子 ...

function foo(a,b,c,d,e,f,g)

// foo(1,2,3,4,5);

let arr = [1,2,3,4,5,6,7];

foo(...arr);

// 合併陣列

let arr1 = [1,2,3];

let arr2 = [4,5,6];

let arr3 = [...arr1,...arr2];

console.log(arr3);

/*

箭頭函式

*/function foo()

foo();

let foo = () => console.log('hello');

foo();

function foo(v)

let foo = v => v;

let ret = foo(111);

console.log(ret);

// 多個引數必須用小括號包住,多條語句要用花括號包住

let foo = (a,b) =>

foo(1,2);

let arr = [123,456,789];

arr.foreach(function(element,index));

arr.foreach((element,index)=>);

// 箭頭函式的注意事項:

// 1、箭頭函式中this取決於函式的定義,而不是呼叫

function foo(),100);

}foo.call();

// ----------------------------------

// 2、箭頭函式不可以new

let foo = () => ;

new foo();

// ------------------------------------

// 3、箭頭函式不可以使用arguments獲取引數列表,可以使用rest引數代替

let foo = (a,b) =>

foo(123,456);

let foo = (...param) =>

foo(123,456 );

/*

類與繼承

*/// -------------------------

class animal

// 建構函式

constructor(name)

showname()

}let a = new animal('spike');

a.showname();

a.showinfo();

animal.showinfo();

// ------------------------------

// 類的繼承extends

class dog extends animal

showcolor()

}let d = new dog('doudou','yellow');

d.showname();

d.showcolor();

// d.showinfo();

dog.showinfo();

ES6常用語法

var var name woniu console.log name imooc let 塊級作用域 console.log name imooc let是塊級作用域,只有在括號內部才可以獲取到,外部是獲取不到的 const 塊級作用域 用處當我們很多人協作開發乙個專案的時候,希望乙個變數不會被修...

ES6常用語法

let宣告的變數不存在預解析 例如,使用var呼叫如下 不會出錯 alert inum var inum 10 預解析 預編譯 不報錯但是使用let會報錯 let不能預解析 下面的寫法會報錯 alert inum let inum 10 let宣告的變數不允許重複 同乙個作用域 下面方式不會報錯 如...

es6常用語法

es6常用語法 1.let const 塊級作用域,不能重複宣告,沒有提公升 const常量,引用型別 暫時性死區 2.字串拼接 兩個單引號 反的單引號 拼接字串 3.解構賦值 對稱賦值,更容易理解,乙個陣列 另外乙個陣列,乙個物件 另外乙個物件 4.展開運算子 複製陣列方便 var arr1 1,...