What are the new data types added in es6?

青灯夜游
Release: 2023-01-07 11:47:08
Original
7853 people have browsed it

es6 newly added data types: 1. Symbol type; 2. Set type; 3. Map type; 4. WeakSet type; 5. WeakMap type; 6. TypedArray type.

What are the new data types added in es6?

The operating environment of this tutorial: Windows 7 system, ECMAScript version 6, Dell G3 computer.

New data types in ES6

  • Symbol type(Basic)
  • Set type(complex)
  • Map type (complex)
  • WeakSet type(complex)
  • WeakMap type(Complex)
  • TypedArray type(Complex)

Let’s take a look at what data types there were beforees6,

  • Basic type:

    • string

    • ##null

    • undefined

    • ##number

    • ##boolean
    Complex type:
    • object
    Since the new types are basically not used in daily work, so the specific introduction is directly explained by
  • MDN
, Let me explain to you some frequently encountered questions in interviews....

Q1: How to make an object have a private attribute? (What is the use of Symbol?)

Answer: UseSymbol

as the

keyof the object

{ // 私有作用域 let a = Symbol() window.oo = { name: '对象', age: 18, [a]: '这是一个私有属性' } console.log(oo[a]) // 这是一个私有属性 } // 不能再作用域外打印...
Copy after login
At this time the objectoo There is a private attribute, which cannot be printed correctly outside the scope.

What are the new data types added in es6?#Q2: How to quickly remove duplicates from an array?

Answer: UseSet

to add

Array.form()This is a very classic interview question, let me talk about it before doing thises6Previous deduplication method:

let array = [1, 2, 3, 4, 4, 5, 5, 6] ~function uniq() { let result = [] let hash = {} for (let i=0; i

But this method has huge drawbacks. There cannot be objects in the deduplication array, and the result returned by this method are all strings, so such an array cannot be deduplicated. What are the new data types added in es6?

When we use

Set

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)] }()
Copy after login

Even object references can be deduplicated, a very simple method.What are the new data types added in es6?

Q3: What is the use of Map?

Answer:map

is more like an extension of an object. Its

keycan be of any type, no longer like the previous objectkeycan only be a string, that is, with this feature, we can optimize the previous deduplication, but it is not necessary because there is alreadyset.Give me a chestnut

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关联的值");
Copy after login

What are the new data types added in es6?Q4: What is the difference between WeakMap and Map?

Answer:

    WeakMap
  • The difference is that the reference to

    keyis a weak reference

  • WeakMap
  • 's

    keycan only be an object

    What you need to know is what a weak reference is:
  • Article: Learning and using ES2015 WeakMap


Q5: What is the difference between WeakSet and Set?

Answer: Same as above

Q6: What is the use of TypedArray?

Answer: There are fewer ways to use this type. It is mainly used for processing binary files (audio, files, videos, pictures...) and is generally not used unless you develop the wheel yourself. .

[Recommended learning:

javascript advanced tutorial

]

The above is the detailed content of What are the new data types added in es6?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!