相关疑难解决方法(0)

Ecmascript函数的真实世界示例返回Reference?

阅读EcmaScript规范,第8.7节参考规范类型:

Reference类型用于解释这种运营商的行为delete,typeof以及赋值运算符.[...]参考是一个已解析的名称绑定.

允许函数调用返回引用.纯粹为了宿主对象而承认这种可能性.此规范未定义的内置ECMAScript函数返回引用,并且没有为用户定义的函数提供返回引用的规定.

最后两句话让我印象深刻.有了这个,你可以做一些事情coolHostFn() = value(有效的语法,顺便说一句).所以我的问题是:

是否有任何EcmaScript实现定义导致Reference值的主机功能对象?

javascript reference

19
推荐指数
1
解决办法
1344
查看次数

Javascript参考与绑定......有什么区别?

我最近在Kyle Simpson的"你不了解JS:ES6"中读到了以下内容

"[ES6模块导出]实际绑定(几乎像指针)到内部模块定义中的标识符."

我的困惑是这些绑定与参考文献有何不同......

我理解JS 中的引用只适用于非原始类型(如对象),因此给定

let object1 = {a: 1};
let object2 = object1;
Run Code Online (Sandbox Code Playgroud)

object1object2现在所说的(他们是两个参考点)同一个对象.
如果我添加一个属性object2,我也添加了一个属性object1

object2.b = 2;
console.log(object1.b); // 2
Run Code Online (Sandbox Code Playgroud)

我可以看到绑定可以应用于基本类型和非基元类型

// foo.js
export let count = 1;
export function incrementCount() { count++; }

// bar.js
import {count, incrementCount} from foo;
console.log(count); // 1
incrementCount();
console.log(count); // 2
Run Code Online (Sandbox Code Playgroud)

绑定就像引用一样,除了原始值也可以共享绑定(而引用仅限于非基本类型)?

我觉得我在这里错过了一些东西......

javascript reference ecmascript-6 es6-modules

11
推荐指数
2
解决办法
2868
查看次数

是所有javascript对象引用类型?

全部,说我们有如下代码.

var b ={};

var a=b;
b=null;
if (a==null)
{
    alert('a is null');
}
Run Code Online (Sandbox Code Playgroud)

在代码运行之前,我曾认为a应该为null,因为我认为a并且b指向同一个对象或它们应该是相同的地址.但事实并非如此.javascript对象引用类型不是经典语言(c ++/c#/ java)吗?还是我错过了重要的事情?谢谢.

javascript

2
推荐指数
1
解决办法
347
查看次数

标签 统计

javascript ×3

reference ×2

ecmascript-6 ×1

es6-modules ×1