ruby 数据类型Symbol
一.符号创建
符号是Symbol类的实例,使用冒号加一个标识符即可创建符号
:a :"This is a symno"
二.符号字符串相互转换
p :symbol.to_s #=> "symbol" p 'symbol'.to_sym #=> :symbol
三.符号与字符串的比较
- 符号与字符串的比较,优势在于对内存消耗较少。因为每一个字符串都是一个对象,一个字符串每出现一次Ruby就会创建一个String对象,所以使用字符串的开销非常大,而符号则不会
- 符号是不可变的,不能对符号的进行增、删、改, 但字符串可以
- 符号是唯一的(相同名称的符号object_id是一样的,说明是同一个对象),而字符串不是
- 使用场景区分:如果使用字符串的内容,这个内容可能会变化,使用字符串String;如果使用固定的名字或者说是标识符,则需要使用符号Symbol;实际应用中,如枚举值,关键字(散列表关键字,方法的参数)等情况都会选择使用符号
转载于:https://www.cnblogs.com/wf0117/p/8908520.html
ruby 数据类型Symbol相关推荐
- php解析js的 arraybuffer_JS的所谓的第七种数据类型Symbol
首先,为什么说叫所谓呢?因为在2007年之前Js给予我们typeof解析数据类型的一共有六种(一直有争议,但是我们暂时就按typeof来算) 'function''Number''Object''bo ...
- ES6新数据类型Symbol
Symbol 今年最火的莫过于 ES6 + Babel 了.ES6 引入了一些很实用很强大的特性和一些语法.今天说的 Symbol 就是其中一个. 对于这个新特性,很多人估计很少使用它,尤其是可见性封 ...
- 理解JavaScript基本数据类型symbol
symbol 概念 symbol是一个ES6标准种新增的一种基本数据类型,在JavaScript中,共有七种基本数据类型:string.number.bigint.boolean.null.undef ...
- es6 新增数据类型Symbol
es6在string number boolean null undefined object之外又新增了一种Symbol类型. Symbol意思是符号,有一个特性-每次创建一个Symbol值都是不一 ...
- 【ES6】JS第7种数据类型:Symbol
[ES6]JS第7种数据类型:Symbol 一.Symbol的由来 二.Symbol的涵义 三.Symbol的判等 四.Symbol的运算与转化 查看更多ES6教学文章: 参考文献 引言:我们知道JS ...
- 听说ES6中新增了能够与众不同的Symbol数据类型
前言 小伙伴们大家好.不知道大家有没有遇到这样一种情况:在我们日常开发中,有时候可能会用到一些别人提供的对象,并且业务需要想要在这个对象的基础上进行一些扩展,添加一些属性或方法等.这个时候如果我们不了 ...
- ES6新增数据类型:Symbol
[学习es6新增的数据类型 Symbol] 1.symble 的作用 symbol 是 es6 新增的一个基本的数据类型,定义唯一值的:一般用于给对象添加私有属性. 2.symble 的用法 < ...
- ES6语法~解构赋值、箭头函数、class类继承及属性方法、map、set、symbol、rest、new.target、 Object.entries......
2015年6月17日 ECMAScript 6发布正式版本 前面介绍基本语法, 后面为class用法及属性方法.set.symbol.rest等语法. 一.基本语法: 1. 定义变 ...
- ES6 Symbol的应用场景
一.简介 具体使用请参考:API ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值.它是 JavaScript 语言的第七种数据类型,前六种是:undefined.null.布尔值(B ...
最新文章
- 解析深度学习:卷积神经网络原理与视觉实践
- php配置连接sql2005(使用微软官方驱动)
- mysql怎样删除上一行_mysql如何删除第一行数据
- Vue 里 几个重要的指令
- 从镜像安装vs2010MSDN,错误“您没有权限修改为帮助内容存储区指定的位子下的内容......
- Notepad++远程连接Linux系统
- Asp.Net Core2.0 基于QuartzNet任务管理系统
- fold函数_Java中使用Map and Fold进行函数式编程
- 转3d视图快捷键_最全Solidworks快捷键,值得收藏!
- RedHat 9 Linux SendMail 的配置
- 力扣——204. 计数质数
- 创业者怎样才能赚到钱?八种最有效创业赢利模式
- win10 休眠设置无效_win10休眠设置无效的解决教程
- 视频问答社区VYou宣布关闭,问答社交模式会走向哪?
- 如何设计神经网络结构,如何设计一个神经网络
- office2010/2013/2016安装过程提示问题Office 16 Click-to-Run Extensibility Component
- Android地址(省市区)、日期、时间滚轮选择器简单封装
- 《Android源码设计模式》之迭代器模式
- 除了爱你的人,这个世界没人会记得你
- Ubuntu下VS code空格间距很小解决办法
热门文章
- Delphi中的异常处理
- 关于多属性查找问题的sphinx解决方案
- 【vue开发问题-解决方法】(五)vue Element UI 日期选择器获取日期格式问题 t.getTime is not a function
- 【SpringBoot】拦截器使用@Autowired注入接口为null解决方法
- IDEA 2019.3新建项目找不到Maven的解决方法
- python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
- SQL Server中的“描述表”等效什么?
- 在Bash中重定向stderr和stdout
- (配置消息转换器)解决后台返回json数据到前台时页面时中文显示乱码问题
- 获取项目中的文件流InputStream