首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

coffeescript fat arrow访问不是父母'这个'

问题内容:coffeescript fat arrow访问不是父母'这个'

答案内容:

在 CoffeeScript 中,fat arrow(也称为 arrow function)是一种特殊的函数声明,它将函数声明与函数表达式结合在一起。fat arrow 在父函数中定义,可以访问父函数中的变量,属性等。

例如,下面的代码定义了一个 fat arrow,它访问了父函数中的 this 变量:

代码语言:txt
复制
class Person
  constructor: (@name) ->
    @name = "John"
    console.log this

p = new Person "Jane"

在这个例子中,this 变量是在 constructor 函数内部定义的,并且在 console.log this 语句中访问了它。由于 this 变量是在 fat arrow 中定义的,因此它可以在父函数中访问。

与 JavaScript 中的函数表达式不同,fat arrow 是一种函数声明,因此它们可以访问父函数中的变量和属性。这使得 fat arrow 成为在 CoffeeScript 中定义对象属性和方法的一种有用方式。

需要注意的是,虽然 fat arrow 可以访问父函数中的变量和属性,但它们不能访问父函数中的参数。在上面的例子中,name 参数是在 constructor 函数中定义的,并且被赋值为 "John",因此可以在 fat arrow 中访问它。但是,name 参数并不是在 fat arrow 中定义的,因此不能像下面这样访问它:

代码语言:txt
复制
class Person
  constructor: (@name) ->
    @name = "John"
    console.log @name

p = new Person "Jane"

在这个例子中,@name 是在 constructor 函数中定义的,并且在 fat arrow 中访问了它。但是,name 参数是在 constructor 函数中定义的,并且被赋值为 "John",因此不能像下面这样访问它:

代码语言:txt
复制
class Person
  constructor: (@name) ->
    @name = "John"
    console.log @name

p = new Person "Jane"

在这个例子中,name 参数是在 constructor 函数中定义的,并且被赋值为 "John",因此不能像下面这样访问它:

代码语言:txt
复制
class Person
  constructor: (@name) ->
    @name = "John"
    console.log @name

p = new Person "Jane"

在这个例子中,name 参数是在 `constructor

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

一文读懂遗传算法工作原理(附Python实现)

,也不是最聪明的物种,而是最能适应环境的物种。...4.5 变异 如果现在我们从生物学的角度来看这个问题,那么请问:由上述过程产生的后代是否有和其父母一样的性状呢?答案是否。在后代的生长过程中,它们体内的基因会发生一些变化,使得它们与父母不同。...fat','LF'], ['Low Fat','Low Fat']) train['Item_Fat_Content'] = train['Item_Fat_Content'].replace(['...Low Fat','Low Fat']) test['Item_Fat_Content'] = test['Item_Fat_Content'].replace(['reg'], ['Regular'...那是不是我在骗你们呢?当然不是。实际上,TPOT 库有一个简单的规则。如果你不运行 TPOT 太久,那么它就不会为你的问题找出最可能传递方式。

94650
  • 一文读懂遗传算法工作原理(附Python实现)

    ,也不是最聪明的物种,而是最能适应环境的物种。...如果你设置两个交叉点,那么这种方法被成为「多点交叉」,见下图: 4.5 变异 如果现在我们从生物学的角度来看这个问题,那么请问:由上述过程产生的后代是否有和其父母一样的性状呢?答案是否。...在后代的生长过程中,它们体内的基因会发生一些变化,使得它们与父母不同。这个过程我们称为「变异」,它可以被定义为染色体上发生的随机变化,正是因为变异,种群中才会存在多样性。...fat’, ‘LF’], [ ‘Low Fat’, ‘Low Fat’]) train[ ‘Item_Fat_Content’] = train[ ‘Item_Fat_Content’].replace...那是不是我在骗你们呢?当然不是。实际上,TPOT 库有一个简单的规则。如果你不运行 TPOT 太久,那么它就不会为你的问题找出最可能传递方式。

    2.6K40

    一种基于Linux文件系统的数据恢复方法_武汉病例轨迹

    问题阶段 起因: 昨天晚上思路不是很清晰(上了一天班回来有点蒙),还是强忍着疲惫想搞事情,结果悲剧了… … 本来想拿SD卡做一张linux烧录卡,烧录脚本是很久以前写的,有git记录,一直不成功...尝试三: 直接查找linux的数据恢复软件,最终找到一款靠谱的:testdisk 官方文档 简单介绍: 它不能从故障的存储设备上拷贝数据,相反,它可以解决一些因为分区的原因而 造成数据无法访问的问题...该工具可以帮助你恢复丢失的分区,让磁盘重新变得可以启动,整理分区表,恢复主引导记录,恢复引导扇区以及文件系统表,可以从 NTFS、FAT、exFAT和ext2类型的文件系统中恢复被删除的文件,还能从已经删除了的...NTFS、FAT、exFAT和ext2/3/4文件系统 中拷贝文件。...尝试: testdisk /dev/sdb 选择硬盘后回车: Select a media (use Arrow keys, then press Enter): Disk /dev/sdb

    66410

    产品解析:Github Atom

    非常简单直观的coffeescript代码。相信做过前端开发的工程师,atom选择试用coffeescript是个福音(atom的配置文件也是cson格式的)。 不要小看插件语言选择的重要性。...atom选择coffeescript有几个很重要的考量(我猜的): coffeescript(javascript)的拥趸很多 语言强大,代码简单 是主流能够运行在浏览器中的语言(coffeescript...看看这个界面,是不是很有chrome的赶脚?? ? 这就是Atom最大的亮点!web native。...很可能chrome上面的沙箱环境(不允许web app访问本地资源,如文件系统)被移除,然后nodejs以某种方式被集成进来(这样javascript可以访问文件系统等本地资源)。...在mobile上,使用浏览器的代码做基石,而不是web view的代价可能比较大,比如说文件大小,成熟度等。但在desktop上,这个可行性大了不少,因为开源的chrome的生态圈很成熟。

    1.6K80

    Atom飞行手册翻译: 3.1 ~ 3.2

    如果你想向Atom中添加一些功能,你必须要访问和Atom核心特性相同的API和工具。从树视图、命令面板到查找替换功能,甚至Atom的绝大多数核心特性都是以包的形式实现的。...这个文件中的代码可以充分访问到Atom API。如果自定义的代码变得很大,考虑创建一个包,这部分会在“字数统计包”一节中介绍。...这个文件也可以命名为init.js来包含JavaScript代码。 例如,如果你在设置中开启了蜂鸣提示音,你可以将以下代码添加到init.coffee,让Atom在每次加载时用蜂鸣提示音向你打招呼。...atom.beep() 由于init.coffee可以访问到Atom API,你可以使用它来实现有用处的命令,而不需要创建新的或者扩展现有的包。...而且,如果你喜欢通过快捷键来触发这个命令,你可以为命令定义一个键表(keymap)。

    26730

    CoffeeScript 简介

    但是,JavaScript有一些特性没有实现,为了让JavaScript更好用,CoffeeScript这个东西被发明出来。...CoffeeScript可以看成是JavaScript的补丁版本,语法和JavaScript非常相似,但是增加了许多语法糖,CoffeeScript最后编译的结果也是JavaScript。...不过需要注意,CoffeeScript 2和CoffeeScript 1 并不兼容,而且现在浏览器对ESMAScript 2015的支持还有限。所以在使用CoffeeScript 2的时候需要注意。...这个官方文档做得很不错,有很多交互式例子,编辑左边的Coffee代码,右边就会编译出JavaScript代码,还能在线运行,非常方便。...我倒是找到了一个CoffeeScript的中文网站,不过更新不够及时,网络访问好像也不太通畅。所以大家还是看原版吧。

    883100

    JavaScript闭包与箭头函数

    闭包 闭包是JavaScript中最强大的特性之一 JavaScript允许函数嵌套 内部函数可以访问定义在外部函数中的所有变量和函数以及外部函数能访问的所有变量和函数 外部函数不能够访问定义在内部函数中的变量和函数...当内部函数生存周期大于外部函数时,由于内部函数可以访问外部函数的作用域,定义在外部函数的变量和函数的生存周期就会大于外部函数本身 当内部函数以某一种方式被任何一个外部函数作用域访问时,一个闭包就产生了...使用它必须十分的小心,因为this指代什么完全取决于函数在何处被调用,而不是在何处被定义。 使用arguments对象 函数的实际参数会被保存在一个类似数组的arguments对象中。...multiplier * x); } var arr = multiply(2, 1, 2, 3); console.log(arr); // [2, 4, 6] 箭头函数 箭头函数表达式(也称胖箭头函数, fat...arrow function)具有较短的语法相比函数表达式和词法绑定此值。

    87320

    Pandas 2.0 简单介绍和速度评测

    而pandas使用了一个“NumPy”作为后端,这个我们也都是知道的,但是最近 Pandas 2.0 的RC版已经最近发布了。这个版本主要包括bug修复、性能改进和增加Apache Arrow后端。...在本文中,我们将做一个简单的介绍和评测,为什么pandas选择Arrow作为后端,以及如何在pandas 2.0中开始使用Arrow(它虽然不是默认选项)。...__version__) Arrow后端 因为不是默认,所以我们在使用Arrow时,还要显式的指定: >>> pd.Series([5, 6, 7, 8], dtype='int64[pyarrow...速度 这个应该不必多说了,借助Arrow的优势,上面看到已经快了很多 2. 缺失值 pandas表示缺失值的方法是将数字转换为浮点数,并使用NaN作为缺失值。...互操作性 就像CSV文件可以用pandas读取或在Excel中打开一样,Arrow也可以通过R、Spark和Polars等不同程序访问

    1.9K20

    如何编写漂亮的 React 代码?

    不是在谈论这个框架的任何技术特性;我说的是直观的美学,代码在我屏幕上的样子,以及它所唤起的感觉。 代码美学通常并不是开发人员关注的问题。我们要操心更重要的问题。...我不是在讨论这段代码的技术属性。当我说它难看的时候,我只是在试图表达它在我心中唤起的一套感觉,而这在很大程度上是基于我对世界的总体体验,特别是编程。从这个角度来看,第一个让我抓狂的问题是 JSX。...就是那样,CoffeeScript 可以满足我的标准,因此我决定看看这个项目进展如何并尝试一下。...随着编译器的出现,使得每个人都可以使用甚至还不是标准的 JS 特性,即使是不得不支持旧浏览器的开发人员现在也可以从最新的语言特性中受益。这使得 CoffeeScript 的流行程度大不如前。...CoffeeScript 推出已经有一段时间了,而且我期望它有一些像样的工具。我在做这个快速实验时没有感到意外。不过,有一件事让我无法完全采用它:那就是与 TypeScript 一起使用的能力。

    97510

    磁盘分区格式FAT32与NTFS

    Convert.exe是Windows 2000附带的一个DOS命令行程序,通过这个工具可以直接在不破坏FAT文件系统的前提下,将FAT转换为NTFS。它的?...修复被格式化的硬盘,只能将这个硬盘拆下来,安装到其他的计算机中,之后执行文件修复 操作。Final Data甚至可以修复由CIH病毒破坏的硬盘。...NLS:存在于〈winnt〉system32¬1252.nls L_INTL.NLS:存在于〈winnt〉system32_intl.nls   (注意:Windows XP的目录是WINDOWS,而不是...重启后就可以在Windows 98下访问NTFS分区了! 9、如何在DOS系统下直接读写NTFS文件系统?   Winternals Software LP 公司提供了工具软件解决了这个问题。...在NTFS分区上,支持随机访问控制和拥有权,对共享文件夹无论采用FAT还是NTFS文件系统都可以指定权限,以免受到本地访问或远程访问的影响;对于在计算机上存储文件夹或单个文件,或者是通过连接到共享文件夹访问的用户

    2.6K10

    Nebula3的多线程架构

    其思想就是运行了一个完整子系统的”Fat Thread”都有自己的最小Nebula运行库, 这个最小运行库刚好包含了这个子系统需要的部分....因此, 如果这个运行在它自己线程中的子系统需要进行文件访问, 它会有一个跟其它Fat Thread完全分离的文件服务器(file server)....缺点就是, 重复的数据会浪费一些内存, 但是我们只是占用几KB, 而不是MB. 这些数据冗余消除了细密的锁定, 并且解决把程序员从思考每一行代码的多线程安全性中解放了出来....通过这个标准的通信手段, 实际上只有消息子系统才需要是线程安全的(同样, 访问跟消息相关的资源时, 如内存缓冲区, 必须受到约束, 因们它们代表了共享数据)....那样的话, job中就不能存在复杂的运行库(不能文件I/O, 不能访问渲染等等). 如果这样还不够的话, 必须定义一个”job运行时环境”, 就像Fat Thread中的那样.

    46520

    Linux的文件系统(3)

    FAT16分区格式的另外一个缺点是:磁盘利用效率低(具体的技术细节请参阅相关资 料)。为了解决这个问题,微软公司在Windows 95 OSR2中推出了一种全新的磁盘分区格式——FAT32。...不能在单独分区配置这个目录,否则无法在linux rescue方式中访问这些实用程序。...不能将这个目录挂载到单独分区。 /lost+found 包含遗弃的文件。fsck之类的实用程序在这个目录中放上空的不可标识文件(或部分文件)。这个目录不是FHS的一部分。.../misc指定共享NFS目录的公共挂载点,这个目录不是FHS的一部分。.../sbin 包含许多系统管理命令,不能另外挂载这个目录。 /tftpboot 支持无盘工作站,也称为远程终端。无盘工作站从Linux终端服务器挂载这个目录。这个目录不是FHS的一部分。

    3K30

    107.精读《Optional chaining》

    至于为什么语法不是 func?(...args) 这种简洁一点的表达方式,在 FAQ 中有提到这个例子: obj?[expr].filter(fun):0 引擎难以判断 obj?...而对于 C+ 与 CoffeeScript这个语法是对后续所有 get 生效的(这里再次提醒,不要用 CoffeeScript 了,因为对于相同语法,语义都发生了变化,对你与你的同事都是巨大的理解负担...b() 这个调用,在 a.b 不是一个函数时依然会报错,原因就是 Optional chaining 仅提供了对属性访问的安全保护,不代表对整个执行过程进行安全保护,该抛出异常还是会抛出异常,因此 Optional...语法可以快速满足,因此这个特性的讨论也被搁置了。 余下的 Q&A 大部分 Q&A 在上面的解读都有提及,下面列出剩余的两个 Q&A: 为什么语法是 ?. 而不是 .? ?...b 的结果不是 null 呢? 由于 . 表达式不关心 . 前面对象的类型,因为它的目的是访问 . 后面的属性,因此不会因为 null?.b 就返回 null,而是统一返回 undefined。

    38030

    前端构建:Source Maps详解

    ) + process)); } else { return null; } });   当需要调试时我们的处境就是看着JS代码修改ClojureScript代码,对于这个...如果(整)数值在-15到+15之间(含两个端点),用一个字符表示;超出这个范围,就需要用多个字符表示。并且规定每6bit标识一个字符。  ...最后一位(Sign位),当该节为当前编码段的第一节时,表示符号1为负号,0为正号;若不是第一节则表示数值位。         下面对16进行VLQ编码,            1....                                   通过Chrome和FF下devTools的network面板我们可以看到浏览器加载了.map文件和源代码文件,现在问题来了,那么在生产环境当中用户访问网页时岂不会多加载两个开发环境使用的文件吗...现在我们终于可以安心使用CoffeeScript咯!

    1.6K80

    小米路由器开启SSH

    首先需要准备的工具 小米路由器一台; U盘一个,格式为; 小米官方提供的SSH开启工具包;点我下载 电脑一台; 牙签一个;...小米路由器 U盘一个,格式为 小米官方提供的开启SSH工具包 打开小米路由器官方连接:http://www1.miwifi.com/miwifi_open.html...(往下拉>点击开启SSH工具) 点下载工具包会提示一个这个如下图: 点接受,然后开始下载,下载后拷贝到U盘根目录里面,把U盘插入路由器,拔掉电源,用牙签按住Reset不要松开,重新插上电源...,不是大写的哈 输入用户名之后会弹出对话框输入root密码,这个密码就是在下载ssh工具包的页面有 到这里就开启ssh了。...小米路由器安装Misstar Tools工具箱访问外国网站 cambrian.render('tail')

    10.1K40

    基于AIGC写作尝试:深入理解 Apache Arrow

    Apache Arrow正是针对这个需求而产生的,它提供了一种高性能、跨平台、内存中的数据交换格式,能够更加高效地进行数据交换和处理,支持多种编程语言,如C++, Python, Java, Go等,并提供了一系列...数据邻近性,适合连续访问(扫描)2. O(1)(常数时间)随机访问。3. 支持SIMD和向量化处理。4. 可以在共享内存中实现真正的零拷贝访问,无需“指针重组”。...列式存储是一种数据存储方式,将每个字段单独存储,而不是按行存储整个记录。...这意味着可以使用小块数据流,而不是一次性将所有数据载入内存。这使得处理大型数据集变得更加高效,并且可以避免在内存不足时的崩溃。4....为了解决这个问题,引入了Apache Arrow作为一个开源项目,它提供了一个跨语言的内存数据开发平台。它旨在实现不需要序列化和反序列化的不同系统和编程语言之间的高效数据交换。

    6.7K40
    领券