获得徽章 0
- 若水的掘金梗终将落下帷幕,不知道有谁能够记得若水,前女友元旦订了婚,她把我删了,以后再也不见了,通过这次感情经历让我顿然醒悟,深情永远不会被人珍惜,爱是相互的,一味地付出只会让自己变得卑微与廉价,要学会克制自己的爱,此时此刻,大家送我一首歌好么616237
- js重难点:Symbol类型的特点
1. Symbol值得唯一性
• 通过typeof运算符得到的结果是“symbol”。
• 任何通过Symbol()函数创建的Symbol值都是不相同的,即使传递了相同的字符串。
2. 不能使用new操作符。Symbol函数并不是一个构造函数,因此不能通过new操作符创建Symbol值。
3. 不能参与类型运算。Symbol值可以通过toString()函数显示地转换为字符串,但是本身不能参与其他类型值的运算,例如在对Symbol值进行字符串拼接操作时,会抛出异常。
4.可以使用同一个Symbol值。
• 使用Symbol.for()函数,它接收一个字符串作为参数,然后搜索有没有以该参数作为名称的Symbol值。如果有,就返回这个Symbol值,否则就新建并返回一个以该字符串为名称的Symbol值。
• Symbol.for()函数不会每次调用就返回一个新的Symbol类型的值,而是会先检查给定的key是否已经存在,如果不存在才会新建一个值。
【Symbol类型的常见用法】
1. 用作对象属性名。不能通过点运算符为对象添加Symbol属性。
2. 用于区分属性。
3. 用于属性名遍历。
• 使用Symbol作为属性名时,不能通过Object.keys()函数或者for...in来枚举,这样我们可以将一些不需要对外操作和访问的属性通过Symbol来定义。
• 因为Symbol属性不会出现在属性遍历的过程中,所以在使用JSON.stringify()函数将对象转换为JSON字符串时,Symbol值也不会出现在结果中。
展开评论2 - 如何学习微前端(论学习)
1. 第一阶段(了解): 学习现有开源库的源码, 包括 qiankun、single-spa、micro-app 等,了解微前端框架的内部实现原理
2. 第二阶段(总结): 归纳微前端框架的设计要素,总结设计要素
3. 第三阶段(实践): 设计一个简单的 Demo 去实现各自的设计要素,实践加深理解
4. 第四阶段(真知):
4.1 浏览器的沙箱设计
4.2 JS 的模拟沙箱设计
4.3 浏览器的多进程架构
4.4 新开 Tab 到渲染页面的整个过程
4.5 Blink 渲染引擎是如何工作的
4.6 V8 中的 JS 引擎和 window 对象如何实现 binding
4.7 V8 中的 JS 引擎如何解析执行 JS
4.8 V8 中的 JS 如何实现嵌入 C++ 应用
4.9 JS 的上下文执行环境、执行栈、函数内部的上下文执行环境
4.10 iframe 如何工作,站点隔离
4.11 好像总觉得还遗漏了什么...展开17 - #每日一题#
第151题:动手实现一个左右固定100px,中间自适应的三列布局(至少三种)
我的答案
1. flex:content使用flex:1属性;
2. calc:水平排列,中间使用calc(100vw - 200px);
3. grid:使用grid-template-columns: 100px auto 100px;
4. absolute:父相子决,通过left,right实现;
5. table布局
6. float布局展开评论9 - @每日英语7
Item 7: Think of Types as Sets of Values
- Think of types as sets of values(the type's domain). These sets can either be finite(e.g., boolean or literal types) or infinite(e.g., number or string)
- 思考值设置的类型(类型的有限范围)。这些设置不单可以是有限的(boolean 或者 文字类型)而且可以说无限的(number 或者 string)
- TypeScript types form intersecting sets rather than a strict hierarchy. Two types can overlap without either being a subtype of the other.
- TS 的类型构建与相交的设置而不是严肃的登记制。两种类型可以重叠而不需要一方称为另外一方的子类型
- Remember that an object can still belong to a type even if it has additional properties that were not mentioned in the type declaration
- 记住一个对象仍然属于它之前配置了类型,即便它有了额外的在类型声明中没有被提及的属性
- Type operations apply to a set's domain. The intersection of A and B is the intersection of A's domain and B's domain. For object types, this means that values in A & B have the properties of both A and B
- 类型运行适用于设置的领域。A 和 B 的交集就是 A 领域和 B 领域的交集。对于一个对象类型的值,这意味着这个值在 A & B 类型中,就需要同时拥有 A 和 B 的属性展开评论1 - Private class features
目前主流浏览器均已支持 Private class features,使用方法比较简单,直接使用 # 符号,便可以让 properties 以及 method 设定为 private 属性(properties 需要放在顶部定义),让外界无法直接进行存取。也因为这样,可以让 Web Components 的书写更加完整。
虽说无法透过 JavaScript 直接列举出 private proerties 可能在 debug 上会有写不方便,但可以通过 DevTools > Elements > Properties pane 中找出来哦~
以上,提供给大家参考。展开评论3
![[礼物]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_124.83c188d.png)