在一个语句中声明变量为函数并具有属性

时间:2019-06-10 18:16:27

标签: javascript

是否可以将以下内容合并为一条语句:

// Combine from here

const foo = function() {
    return 'hello';
}
foo.world = 'world';

// to here

console.log(foo() + foo.world) // helloworld

3 个答案:

答案 0 :(得分:1)

(foo = () => 'hello').world = 'world'

答案 1 :(得分:0)

您必须在函数/类声明之外分配静态变量。这是使用类的ES5替代版本。

class foo {
  constructor() {
    // constructor...
  }
  toString() {
    return 'hello'
  }
}
foo.world = 'world' // static member variables need to be assigned outside, no other way

console.log(new foo() + foo.world) // helloworld

答案 2 :(得分:0)

您可以将属性声明移到函数中。

let foo = function () {
  foo.world = 'world';
  return 'hello';
};
  
console.log(foo() + foo.world)