ES6新特性詳細介紹

2021-10-07 21:32:40 字數 3219 閱讀 7484

一、var let const 的區別

let和const宣告變數不存在變數提公升,如果要使用這個變數,我們需要在變數定義之後使用;

let和const不能重複宣告變數,如果重複宣告會報錯;

用let 和 const 在全域性宣告變數不會給window增加屬性;

let和const出現在**塊中,會把**塊(字面量宣告物件除外)變成塊級作用域,並且出現暫時 性死區

二、建立匯入/匯出模組(檔案/元件)

import/export

三、new set(陣列去重)

// 陣列去重

var arr =[1

,2,1

,3,4

];var arr2 =

[...

newset

(arr)];

console.

log(arr2)

// [1,2,3,4]

var arr3 = array.

from

(new

set(arr)

) console.

log(arr3)

;// [1,2,3,4]

// 字串去重

var str =

[...

newset

('ababbc')]

.join(''

) console.

log(str)

;// abc

四、symbol(唯一的值)
var age =

symbol()

;var obj1 =

console.

log(obj1[age]);

// 18

五、…ary(展開運算子、剩餘運算子)
在這裡插入**片var ary =[1

,2,3

] console.

log(

...ary)

;// 1 2 3

let a =[1

,2,3

];let[b,

...c]

= a;

console.

log(b)

// 1

console.

log(c)

// [2,3]

六、${} 模板字串
var hello =

'good day'

var world =

`please look "

$", please enjoy it`

console.

info

(world)

// please look "good day", please enjoy it

七、解構賦值
//---------陣列的解構賦值

let arr5 =[0

,1,2

]let

[e, f, g]

= arr5

console.

log(e)

// 0

console.

log(f)

// 1

console.

log(g)

// 2

//---------物件的解構賦值

let=

console.

log(name)

// 'lht'

console.

log(age2)

// 22

八、for of 迴圈

九、()=>{} 箭頭函式

注意:箭頭函式中的this指的是定義時所在的物件,且箭頭函式中沒有arguments物件

十、陣列新增方法

flat:陣列平鋪,也可以理解為降維

filter : 返回符合條件的新陣列

findindex : 返回符合條件的陣列的索引

every : 所以的條件都滿足才返回true

some : 只要有乙個條件滿足就返回true

一、物件新增方法

object.assign() 用於物件的合併

const target =

;const source1 =

;const source2 =

;object.

assign

(target, source1, source2)

;target //

object.values() 返回可列舉屬性的值

var obj =

; console.

log(object.

values

(obj));

// ['b', 'c', 'a']

object.keys() 傳入物件, 返回 包含物件可列舉屬性和方法的陣列

注:如果傳入的是字串或者陣列,則返回索引值

var obj =

;console.

log(object.

keys

(obj));

// ["name","age"]

object.create() 建立物件

// new object() 方式建立

var a =

var b =

newobject

(a)console.

log(b)

console.

log(b.__proto__)

// {}

console.

log(b.rep)

// object.create() 方式建立

var a =

var b = object.

create

(a)console.

log(b)

// {}

console.

log(b.__proto__)

console.

log(b.rep)

注:new object() 通過建構函式來建立物件, 新增的屬性是在自身例項下。object.create()方法建立的物件時,屬性是在原型下面的,也可以直接訪問 b.rep ,此時這個值不是吧b自身的,是它通過原型鏈proto來訪問到b的值。

es6新特性 ES6新特性(一)

var 1 var宣告的是函式作用域 區域性 但在if for等定義的變數是全域性的 2 var 具有變數提公升,預解析 3 在同乙個作用域下,var可以宣告多次 4 var 宣告的變數會掛載到window上 let1 let不存在變數提公升,在變數使用之前,必須要先宣告 2 let在同一作用域下,...

ES6新特性須知

1.1es5之前函式想要賦預設值var funes5 function a,b,c 1.2es6開始函式想要賦預設值var funes6 function a 50,b 60,c 70 2.1es5之前字串拼接或者拼接屬性值只能如下var a lbj var b 50 var c name a ye...

es6新特性分享

1 字串查詢 es5使用是indexof 返回字元第一次出現的位置int值 es6新增了3個方法 includes startswith endwith 返回bool值 includes 是否包含字元 startswith 首字母是否包含字元 endwith 末尾是否包含字元 2 數值擴充套件 nu...