1. ホーム
  2. javascript

[解決済み] Javascriptで、このアンダースコアは何を意味するのでしょうか?

2023-04-18 16:11:42

質問

var Gallery = Backbone.Controller.extend({
    _index: null,
    _photos: null,
    _album :null,
    _subalbums:null,
    _subphotos:null,
    _data:null,
    _photosview:null,
    _currentsub:null,
    routes: {
        "": "index",
        "subalbum/:id": "subindex",
        "subalbum/:id/" : "directphoto",
        "subalbum/:id/:num" : "hashphoto"
    },
    initialize: function(options) {
        var ws = this;
        if (this._index === null){
            $.ajax({
                url: 'data/album1.json',
                dataType: 'json',
                data: {},
                success: function(data) {
                    ws._data = data;
                    ws._photos =
                    new PhotoCollection(data);
                    ws._index =
                    new IndexView({model: ws._photos});
                    Backbone.history.loadUrl();
                }
            });
            return this;
        }
        return this;
    },
    //Handle rendering the initial view for the
    //application
    index: function() {
        this._index.render();
    },

ここでbackbone.jsのチュートリアルを読んでいます。 http://addyosmani.com/blog/building-spas-jquerys-best-friends/

アンダースコアとは何ですか?(_index, _photos, _album) なぜ使うのですか?

どのように解決するのですか?

プライベートフィールドやプライベートメソッドという意味です。内部でのみ使用されるメソッドです。

クラスの外から呼び出してはいけません。

プライベートフィールドは内部で使用するためのデータを含みます。

クラスの外部から(直接)読み書きを行ってはいけません。

注意してください。 変数にアンダースコアを付けるだけではプライベートにはならず、単なる命名規則であることに注意することが非常に重要です。