首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速将多个值赋值给类中的“`this`”

快速将多个值赋值给类中的“`this`”
EN

Stack Overflow用户
提问于 2016-10-12 09:49:47
回答 1查看 210关注 0票数 0

我有一个类,在这个类中,我必须为它赋值多个变量。是否有更好的方法(使用更少的代码)来处理这样的问题:

代码语言:javascript
复制
class Foo {
  constructor(firstName, lastName, age) {
    const fullName = firstName + lastName;
    const age = age * 5;

    this.fullName = fullName;
    this.age = age;
  }
}

我知道我可以用const fullName代替this.fullName,但是当需要做更大的逻辑时,这会变得非常混乱(参见下面的完整案例)

我试过使用Object.assign({}, this, {fullName, age}),但没有多少运气。

全部案件:

代码语言:javascript
复制
class AudioPlayer {
  static init() {
    const audio = new Audio();
    audio.loop = true;
    audio.autoplay = true;

    const audioFiles = {
      slow: 'mp3/slow.mp3',
      medium: 'mp3/medium.mp3',
      fast: 'mp3/fast.mp3'
    };

    audio.src = audioFiles.medium;

    const audioContext = new (window.AudioContext || window.webkitAudioContext)();

    const audioAnalyser =  audioContext.createAnalyser();
    audioAnalyser.fftSize = 1024;

    const audioSource =  audioContext.createMediaElementSource(audio);
    audioSource.connect(audioAnalyser);
    audioAnalyser.connect( audioContext.destination);

    const bufferLength = audioAnalyser.frequencyBinCount;

    this.audio = audio;
    this.audioFiles = audioFiles;
    this.audioContext = audioContext;
    this.audioAnalyser = audioAnalyser;
    this.audioSource = audioSource;
    this.bufferLength = bufferLength;
  }
}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-12 09:53:10

Object.assign()应该能工作。只需跳过第一个参数,以便将所有其他值合并到this中。

代码语言:javascript
复制
Object.assign(this, {fullName, age})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39995596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档