Set和Map数据结构
Set
基本用法
ES6
提供了新的数据结构Set
。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set
本身是一个构造函数,用来生成Set
数据结构。
|
|
ES6
提供了新的数据结构Set
。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set
本身是一个构造函数,用来生成Set
数据结构。
|
|
Proxy
用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种元编程
(meta programming),即对编程语言进行编程。
Proxy
可以理解成,在目标对象之前架设一层拦截
,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。Proxy
这个词的原意是代理,用在这里表示由它来代理
某些操作,可以译为代理器
。
|
|
ES5的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin模式),新方法的名字就有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突。这就是ES6引入Symbol的原因。
ES6引入了一种新的原始数据类型Symbol,表示独一无二的值。它是JavaScript语言的第七种数据类型,前六种是:Undefined、Null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。
Symbol值通过Symbol
函数生成。这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的Symbol类型。凡是属性名属于Symbol类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。
上面代码中,变量s
就是一个独一无二的值。typeof
运算符的结果,表明变量s
是Symbol数据类型,而不是字符串之类的其他类型。
注意,Symbol
函数前不能使用new
命令,否则会报错。这是因为生成的Symbol是一个原始类型的值,不是对象。也就是说,由于Symbol值不是对象,所以不能添加属性。基本上,它是一种类似于字符串的数据类型。
Symbol函数可以接受一个字符串作为参数,表示对Symbol实例的描述,主要是为了在控制台显示,或者转为字符串时,比较容易区分。
more >>ES6允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。
|
|
上面代码表明,ES6允许在对象之中,只写属性名,不写属性值。这时,属性值等于属性名所代表的变量。下面是另一个例子。
|
|
除了属性简写,方法也可以简写:
|
|
一直想写篇文章来介绍git-pages的搭建,拖了好久,今天来填下坑。
git config
命令可以对 Git 的使用选项和配置进行设置(记得将下面大写部分的 YOUR_USERNAME
和 YOUR_EMAL@EMAIL.COM
替换为你自己的名字和 Email 地址)。
完成上述设置后,我们可以通过 git config -l
命令来查看设置是否生效。
tag:
缺失模块。
1、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
2、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: true raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true