我有一个类,在这个类中,我必须为它赋值多个变量。是否有更好的方法(使用更少的代码)来处理这样的问题:
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}),但没有多少运气。
全部案件:
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;
}
}✌
发布于 2016-10-12 09:53:10
Object.assign()应该能工作。只需跳过第一个参数,以便将所有其他值合并到this中。
Object.assign(this, {fullName, age})https://stackoverflow.com/questions/39995596
复制相似问题