Skip to content

Commit

Permalink
feat(ES6): 新增2016新增特性和ts文档
Browse files Browse the repository at this point in the history
  • Loading branch information
142vip.cn committed Dec 11, 2023
1 parent f458ea9 commit 6b33bf2
Show file tree
Hide file tree
Showing 33 changed files with 1,660 additions and 835 deletions.
10 changes: 10 additions & 0 deletions code/node/es6/es6-2015-array-keys.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// 定义数组
const students = ['Lisa', 'Tom']
const keys = students.keys()

// 遍历keys对象
let text = ''
for (const x of keys) {
text += x + '---'
}
console.log(text)
72 changes: 72 additions & 0 deletions code/node/es6/es6-2015-map.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
/**
* 创建学生-年龄关系映射
* - 存储键值对
*/
const studentAgeMap = new Map([
['Tom', 20],
['Lisa', 18]
])

/**
* 往集合中增加映射关系
*/
studentAgeMap.set('fairy', 24)

/**
* 根据映射关键字获取值
*/
const age = studentAgeMap.get('fairy')


/**
* 返回集合中元素个数
*/
const size = studentAgeMap.size


/**
* 根据键删除映射关系
*/
studentAgeMap.delete('fairy')
/**
* 判断键是否存在
*/
studentAgeMap.has('fairy')

/**
* 清空Map
*/
studentAgeMap.clear()

/**
* 判断类型,返回对象object
*/
const mapType = typeof studentAgeMap

/**
* 判断实例,返回true
*/
const isMap = studentAgeMap instanceof Map

/**
* 循环处理
*/
studentAgeMap.forEach((value, key, originMap) => {
console.log(key, value, JSON.stringify(originMap))
})

/**
* 获取所有的键
*/
studentAgeMap.keys()

/**
* 获取所有的键、值
*/
studentAgeMap.entries()


/**
* 获取所有的值
*/
studentAgeMap.values()
27 changes: 27 additions & 0 deletions code/node/es6/es6-2015-set.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/**
* 使用数组创建Set集合
*/
const stuSet = new Set([1, 2, 3])

/**
* 利用add()方法创建Set集合
*/
const studentSet = new Set()
studentSet.add(1)
studentSet.add(2)
studentSet.add(3)

/**
* 列出集合中所有值
*/
let result = ''
studentSet.forEach((value) => {
result += value
})
console.log(result)

/**
* Set集合中没有Key的概念
* keys()方法和values()方法效果一样
*/
studentSet.values()
2 changes: 2 additions & 0 deletions docs/.vuepress/config/sidebar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import {ExpressSidebar} from "../../manuscripts/server-end/framework/express/exp
import {DesignPatternsSidebar} from "../../manuscripts/server-end/design-patterns/designPatterns.sidebar";
import {SequelizeOrmSidebar} from "../../manuscripts/server-end/orm/sequelize/sequelizeOrm.sidebar";
import {TypeormSidebar} from "../../manuscripts/server-end/orm/typeorm/typeorm.sidebar";
import {TypescriptSidebar} from "../../manuscripts/server-end/typescript/typescript.sidebar";

export default {
"/manuscripts/front-end": FrontEndSidebar,
Expand All @@ -30,6 +31,7 @@ export default {
"/manuscripts/server-end/database/mongo": MongoSideBar,
"/manuscripts/server-end/linux": LinuxSidebar,
"/manuscripts/server-end/design-patterns": DesignPatternsSidebar,
"/manuscripts/server-end/typescript": TypescriptSidebar,
"/manuscripts/server-end/base": BaseSidebar,
"/manuscripts/server-end/node-learn": NodeLearnSidebar,
"/manuscripts/server-end/orm/sequelize": SequelizeOrmSidebar,
Expand Down
2 changes: 1 addition & 1 deletion docs/manuscripts/battle-interview/problems/Node面试.md
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,7 @@ let arr2 = [...new Set(arr)]

- `typeof`:可以判断出`string`,`number`,`boolean`,`undefined`,`symbol`
但判断 typeof(null) 时值为 `object`; 判断数组和对象时值均为 `object`
- `instanceof`:原理是 构造函数的 prototype 属性是否出现在对象的原型链中的任何位置
- `instanceof`:原理是 构造函数的 `prototype` 属性是否出现在对象的原型链中的任何位置
- `Object.prototype.toString.call()`:常用于判断浏览器内置对象,对于所有基本的数据类型都能进行判断
- `Array.isArray()`:只能用于判断是否为数组
- `constructor`构造函数
Expand Down

0 comments on commit 6b33bf2

Please sign in to comment.