// 用于标记类 React元素类型的符号。 // 如果没有原生的 Symbol 符号或 polyfill,则使用普通数字进行表示。 const hasSymbol = typeof Symbol === 'function' && Symbol.for; export const REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; export const REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; export const REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; export const REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; export const REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; export const REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; export const REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; export const REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; export const REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; export const REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; export const REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; export const REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; export const REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; const MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; const FAUX_ITERATOR_SYMBOL = '@@iterator'; export function getIteratorFn(maybeIterable: ?any): ?() => ?Iterator<*> { if (maybeIterable === null || typeof maybeIterable !== 'object') { return null; } const maybeIterator = (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) || maybeIterable[FAUX_ITERATOR_SYMBOL]; if (typeof maybeIterator === 'function') { return maybeIterator; } return null; } 复制代码
笔记
-
Symbol
是一个构造函数 -
Symbol.for(key)
方法会根据给定的键key
,来从运行时的 symbol 注册表中找到对应的 symbol,如果找到了,则返回它,否则,新建一个与该键关联的 symbol,并放入 全局 symbol 注册表中。 -
获取可迭代对象的迭代器函数:
-
获取可迭代对象的
Symbol.iterator
属性:maybeIterable[Symbol.iterator]
-
获取可迭代对象的
@@iterator
属性:maybeIterable['@@iterator']
-
获取可迭代对象的
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 直观理解深度学习基本概念(小白入门深度学习)
- 深度学习的关键:无监督深度学习简介(附Python代码)
- 微软收购深度学习初创公司Lobe 以帮助创建深度学习模型
- 人工智能深度学习Caffe框架介绍,优秀的深度学习架构
- Python猫荐书系列:文也深度学习,理也深度学习
- 【ENVI深度学习】使用ENVI深度学习工具快速识别蔬菜大棚
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
零售的哲学:7-Eleven便利店创始人自述
[日] 铃木敏文 / 顾晓琳 / 江苏文艺出版社 / 2014-12-1 / 36
全球最大的便利店连锁公司创始人——铃木敏文,结合40多年零售经验,为你讲述击中消费心理的零售哲学。铃木敏文的很多创新,现在已经成为商界常识,本书把那些不可思议的零售创新娓娓道来。关于零售的一切:选址、订货、销售、物流、管理……他一次又一次地在一片反对声中创造出零售界的新纪录。 翻开本书,看铃木敏文如何领导7-11冲破层层阻碍,成为世界第一的零售哲学。一起来看看 《零售的哲学:7-Eleven便利店创始人自述》 这本书的介绍吧!