首页 > 试题广场 >

下列符合ES6规范的语法有()

[不定项选择题]
下列符合ES6规范的语法有
  • let x=10
  • const pi=3.1415926
  • let s=Symbol()
  • Object.assign(target,source1,source2)
  • function *helloWorld(){yield ‘hello’; yield  ’world’;return ‘ending’}

全选。
AB比较简单,变量的赋值,正确
C:Symbol的用法
Symbol 值通过Symbol函数生成。这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的 Symbol 类型。凡是属性名属于 Symbol 类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。

let s = Symbol();

D. Object.assign()方法:
Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。

const target = { a: 1 };

const source1 = { b: 2 };
const source2 = { c: 3 };

Object.assign(target, source1, source2);
target // {a:1, b:2, c:3}

Object.assign方法的第一个参数是目标对象,后面的参数都是源对象。

E. Generator函数
形式上,Generator 函数是一个普通函数,但是有两个特征。一是,function关键字与函数名之间有一个星号;二是,函数体内部使用yield表达式,定义不同的内部状态(yield在英语里的意思就是“产出”)。

function* helloWorldGenerator() {
  yield 'hello';
  yield 'world';
  return 'ending';
}

var hw = helloWorldGenerator();
发表于 2019-09-07 16:55:56 回复(12)
Symbol类型属于ES6中新增的基本数据类型之一,内部没有construtor构造器,不能使用new关键字创建
发表于 2019-11-15 10:23:43 回复(0)
assign属于es5的API!!!!
发表于 2021-01-18 14:52:10 回复(0)

D. Object.assign()方法:
Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。

1
2
3
4
5
6
7
const target = { a: 1 };
 
const source1 = { b: 2 };
const source2 = { c: 3 };
 
Object.assign(target, source1, source2);
target // {a:1, b:2, c:3}

Object.assign方法的第一个参数是目标对象,后面的参数都是源对象。

E. Generator函数
形式上,Generator 函数是一个普通函数,但是有两个特征。一是,function关键字与函数名之间有一个星号;二是,函数体内部使用yield表达式,定义不同的内部状态(yield在英语里的意思就是“产出”)。

发表于 2019-11-16 17:24:47 回复(0)
<p>我对于 C 选项的看法是,定义的 Symbol 类型是整个系统独一无二的,应该用 const 声明,保证该变量不被修改</p>
发表于 2020-08-13 21:01:57 回复(0)
function *helloWorld()
星号不应该是写跟function一起吗  
function* helloWorld()
编辑于 2022-04-09 15:11:53 回复(1)
Object.assign:目标对象属性与源对象属性的取并集(属性相同则进行覆盖)
发表于 2021-09-04 15:17:41 回复(0)
Object.assign方法可以实现浅拷贝
发表于 2021-08-29 19:40:34 回复(0)
最后一个*不是应该跟着function嘛
发表于 2021-04-14 23:37:46 回复(0)
PI是大写!!
发表于 2021-04-14 20:08:22 回复(0)
常量应该大写啊
发表于 2021-04-08 18:42:24 回复(0)
PI 不应该大写吗
发表于 2019-10-20 17:49:56 回复(3)