Javascript省略号(...)和冒号(:)

时间:2017-10-27 22:07:31

标签: javascript node.js typescript syntax operators

我有几个JS语法问题。

  1. 首先,使用类似于以下内容的JS语法快速掌握什么是很好的资源?
  2. 在代码中,是Q1和Q2标签吗?另外,什么是... for?

    const Q1: Query = {
      'isChild': {
        $ne: true,
      },
    };
    
    const Q2: Query = {
      ...Q1,
      'isL': true,
      'stat': {
        $in: ['1', '2', '3', '4'],
      },
    };
    
  3. 下面,: Promise<Event>是否与then语句类似?

    async update(event: Event): Promise<Event> {
        debug(`Updating event`, event);
        const { id, ...fields } = event;
        invariant(!!id, 'id is required');
        const fieldsWithTimestamps = withTimestamps<EventFields>(fields);
        debug(`Update ${id}`, fieldsWithTimestamps);
        await collection.updateOne({ _id: id }, fieldsWithTimestamps);
        return { id, ...fieldsWithTimestamps };
    }
    
  4. 感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

为了快速学习语言的语法,我是LearnXinYminutes的粉丝。这是their page for javascript

此外,您的代码段是用TypeScript编写的,这是添加类型注释的JavaScript的超集。那是: Promise<Event>语法是什么。它是一个类型注释,指示update函数的返回类型为Promise<event>

最后,Q1和Q2是对象,...语法称为spread operator

所有这些都是相对众所周知的javascript(除了打字稿注释),你应该熟悉其他地方的语言,而不是在这里问。 StackOverflow可以更好地解决您的问题。