首頁 web前端 js教程 es6新增加的資料型態有什麼

es6新增加的資料型態有什麼

Sep 03, 2021 pm 03:42 PM
es6 資料類型

es6新增加的資料類型:1、Symbol類型;2、Set類型;3、Map類型;4、WeakSet類型;5、WeakMap類型;6、TypedArray類型。

es6新增加的資料型態有什麼

本教學操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。

ES6新增的資料型別

  • #Symbol 類型(基本)
  • Set 類型(複雜)
  • Map 類型(複雜)
  • WeakSet 類型(複雜)
  • WeakMap 類型 (複雜)
  • TypedArray 類型(複雜)

#我們再來看一看es6 之前有哪些資料類型,

  • 基本型別:

    • #string

    • null

    • undefined

    • #number

    • ##boolean

  • 複雜型別:

    • object

由於新出的類型在平常工作中基本上用不到,所以具體介紹還是直接看

MDN 的專業解釋把,下面跟大家講解一些面試常遇到的問題....

Q1:怎麼讓一個物件有一個私有屬性? (Symbol有什麼用?)

Answer:用

Symbol 作為物件的key 即可

{ // 私有作用域
  let a = Symbol()
  window.oo = {
    name: '对象',
    age: 18,
    [a]: '这是一个私有属性'
  }
  console.log(oo[a]) // 这是一个私有属性
}
// 不能再作用域外打印...
登入後複製
此時物件

oo 就有一個私有屬性,該屬性在作用域外就無法正確列印。

es6新增加的資料型態有什麼

Q2:怎麼快速去重一個陣列?

Answer:用

SetArray.form()這是一道很經典的面試題,在此之前先講
es6 之前的去重方法:

let array = [1, 2, 3, 4, 4, 5, 5, 6]
~function uniq() {
  let result = []
  let hash = {}
  for (let i=0; i<array.length><p class="image-package"><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/image/369/298/171/1630654569660947.png" class="lazy" title="1630654569660947.png" alt="es6新增加的資料型態有什麼"></p>#但是該方法有巨大的弊端,去重數組中不能有對象,而且該方法返回的結果中都是字串,所以無法對這樣的陣列進行去重。 <p></p>當我們使用 <p>Set<code> 時</code></p>
<pre class="brush:php;toolbar:false">let a = {a: 11}
let array = [0, 1, '1', '22', 22, a, a, 66]
~function uniq() {
  return Array.from(new Set(array)) // 装比写法 [... new Set(array)]
}()
登入後複製

es6新增加的資料型態有什麼

#甚至連物件的參考也能去重,很簡單的方法。

Q3:Map有啥用?

Answer:

map 更像是物件的拓展,他的key 可以是任意類型,不再像之前的物件key 只能是字串,也就是這個特性,我們可以去優化之前的去重,但是也沒必要,因為已經有set 了。

舉個栗子

let myMap = new Map()
 
let keyObj = {}
let keyFunc = function () {}
let keyString = "a string"
 
// 添加键
myMap.set(keyString, "和键'a string'关联的值");
myMap.set(keyObj, "和键keyObj关联的值");
myMap.set(keyFunc, "和键keyFunc关联的值");
登入後複製

es6新增加的資料型態有什麼

#Q4:WeakMap 和 Map 的差別?

Answer:

  • WeakMap 區別就是對key 的引用是弱引用

  • #WeakMapkey 只能是物件

需要了解的是弱引用是啥了:

文章:ES2015 WeakMap的學習和使用

Q5:WeakSet 和Set 的差別?

Answer:同上

Q6:TypedArray 有什麼用?

Answer:這個類型用的途徑更少了,主要用於二進製文件(音頻,文件,視頻,圖片...)的處理,一般用不到,除非你自己開發輪子。

【推薦學習:

javascript高階教學#

以上是es6新增加的資料型態有什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1318
25
PHP教程
1268
29
C# 教程
1248
24
MySQL資料庫中性別欄位應該使用什麼資料類型? MySQL資料庫中性別欄位應該使用什麼資料類型? Mar 14, 2024 pm 01:21 PM

在MySQL資料庫中,性別欄位通常可以使用ENUM類型來儲存。 ENUM是一種枚舉類型,它允許我們在一組預先定義的值中選擇一個作為欄位的值。在表示性別這樣一個固定且有限的選項時,ENUM是一個很好的選擇。讓我們來看一個具體的程式碼範例:假設我們有一個名為"users"的表,其中包含了使用者的信息,包括性別。現在我們要為性別創建一個字段,我們可以這樣設計表結構:CRE

MySQL中最適合用於性別欄位的資料類型是什麼? MySQL中最適合用於性別欄位的資料類型是什麼? Mar 15, 2024 am 10:24 AM

在MySQL中,最適合用於性別欄位的資料類型是ENUM枚舉類型。 ENUM枚舉類型是一種允許定義一組可能取值的資料類型,性別欄位適合使用ENUM類型是因為性別通常只有兩個取值,即男性和女性。接下來,我將透過具體的程式碼範例來展示如何在MySQL中建立一個性別欄位並使用ENUM枚舉類型儲存性別資訊。以下是操作步驟:首先,在MySQL中建立一個名為users的表格,包括

Python 語法的心智圖:深入理解程式碼結構 Python 語法的心智圖:深入理解程式碼結構 Feb 21, 2024 am 09:00 AM

python憑藉其簡單易讀的語法,廣泛應用於廣泛的領域。掌握Python語法的基礎架構至關重要,既可以提高程式效率,又能深入理解程式碼的運作方式。為此,本文提供了一個全面的心智圖,詳細闡述了Python語法的各個面向。變數和資料類型變數是Python中用於儲存資料的容器。心智圖展示了常見的Python資料類型,包括整數、浮點數、字串、布林值和列表。每個資料類型都有其自身的特性和操作方法。運算符運算符用於對資料類型執行各種操作。心智圖涵蓋了Python中的不同運算子類型,例如算術運算子、比

MySQL中布林類型的使用方法詳解 MySQL中布林類型的使用方法詳解 Mar 15, 2024 am 11:45 AM

MySQL中布林類型的使用方法詳解MySQL是一種常用的關聯式資料庫管理系統,在實際應用中經常需要使用布林類型來表示邏輯上的真假值。 MySQL中布林類型有兩種表示法:TINYINT(1)和BOOL。本文將詳細介紹MySQL中布林類型的使用方法,包括布林類型的定義、賦值、查詢和修改等操作,同時結合具體的程式碼範例進行說明。 1.布林類型的定義在MySQL中,可

MySQL中性別欄位最佳資料類型選擇是什麼? MySQL中性別欄位最佳資料類型選擇是什麼? Mar 14, 2024 pm 01:24 PM

在設計資料庫表時,選擇合適的資料類型對於效能最佳化和資料儲存效率非常重要。在MySQL資料庫中,儲存性別欄位的資料類型真是沒有所謂的最佳選擇,因為性別欄位一般只有兩個取值:男或女。但是為了效率和節省空間,我們可以選擇合適的資料類型來儲存性別欄位。在MySQL中,儲存性別欄位最常用的資料類型是枚舉類型。枚舉類型是一種能夠把欄位的值限定在一個有限的集合內的資料型別

揭秘主流程式語言中的基本資料型別分類 揭秘主流程式語言中的基本資料型別分類 Feb 18, 2024 pm 10:34 PM

標題:基本資料類型大揭密:了解主流程式語言中的分類正文:在各種程式語言中,資料類型是非常重要的概念,它定義了可以在程式中使用的不同類型的資料。對於程式設計師來說,了解主流程式語言中的基本資料類型是建立堅實程式基礎的第一步。目前,大多數主流程式語言都支援一些基本的資料類型,它們在語言之間可能有所差異,但主要概念是相似的。這些基本資料類型通常被分為幾個類別,包括整數

C語言的基本語法和資料類型介紹 C語言的基本語法和資料類型介紹 Mar 18, 2024 pm 04:03 PM

C語言是一種廣泛使用的電腦程式語言,具有高效、靈活和強大的特點。要熟練使用C語言進行編程,首先需要了解其基本語法和資料類型。本文將介紹C語言的基本語法和資料類型,並舉例說明。一、基本語法1.1註解在C語言中,可以使用註解來對程式碼進行說明,以便於理解和維護。註解可以分為單行註解和多行註解。 //這是單行註解/*這是多行註解*/1.2關鍵字C語

Python學習必備的基礎知識有哪些? Python學習必備的基礎知識有哪些? Jan 13, 2024 pm 01:37 PM

學習Python前需要掌握哪些基礎?隨著人工智慧、大數據和雲端運算等技術的不斷發展,程式設計已成為現代社會中越來越重要的技能。而Python作為一門簡潔易學且功能強大的程式語言,越來越受到廣大程式設計師和初學者的青睞。如果你也打算學習Python,那麼在開始之前有一些基礎知識是必須掌握的。理解程式設計的基本概念在開始學習任何程式語言之前,首先需要先理解一些基本的

See all articles