Diskuze: Vlastnosti objektu

JavaScript JavaScript Vlastnosti objektu

Avatar
Honza Bittner
Redaktor
Avatar
Honza Bittner:

Ahoj, tvořím si konfigurační objekt pro složky pro můj gulpfile.js, kde bych potřeboval odkazovat v dirs.build na dirs.source:

var dirs = {
    source: './src/',
    build: this.source + 'build/'
};

Jenže to mi pak vytváří složku ./undefinedbuild/ místo ./src/build/

Odpovědět 3.4.2015 11:09
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Filip Pýrek
Redaktor
Avatar
Odpovídá na Honza Bittner
Filip Pýrek:

Nevím přesně jak funguje gulp, ale takto by to nešlo?

var Dirs_class = function(){
   this.source = './src/'
   this.build = this.source + 'build/'
}
var dirs = new Dirs_class()
Nahoru Odpovědět  +1 3.4.2015 11:19
„The best way to predict the future is to invent it.“ — Alan Kay
Avatar
Matěj Kripner
Redaktor
Avatar
Odpovídá na Honza Bittner
Matěj Kripner:

V Tvém kódu není zaručeno pořadí přiřazování hodnot. Zkus si vytvořit konstruktor:

function Dirs() {
    this.source = './src/';
    this.build = this.source + 'build/';
}

Potom můžeš vytvářet objekty Dirs takto:

var dirs = new Dirs();
Nahoru Odpovědět  +1 3.4.2015 11:20
"We reject kings, presidents and voting. We believe in rough consensus and running code" David Clark
Avatar
Honza Bittner
Redaktor
Avatar
Honza Bittner:

Matěj Kripner, Filip Pýrek

Jo, takto přes JS obejkt to opravdu funguje... :)

Mám to udělané takto http://prntscr.com/6oxyfy kde v path mám využitý JSON (nebo co to je) objekt, což se mi pro toto líbí více. Ale asi se budu muset smířit s normálním js objektem, nebo to napsat napevno, heh. :D

Nahoru Odpovědět 3.4.2015 11:25
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Odpovídá na Honza Bittner
Matyáš Procházka:
var dirs = {
    source: './src/',
    build: function () {
        return this.source + 'build/';
    }
};

Pak to zavoláš

dirs.build()

Mělo by to fungovat :)

 
Nahoru Odpovědět  -1 3.4.2015 11:37
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.