🐈 javascriptで出てくる"..."や"_"について
作成日: 2021/12/19
1

偶に見かける"..."について

setTodos([...todos, value]);

この...というのはスプレッド構文というもので、配列にスプレッド構文を適用するとその配列自体を展開する形で使用できる。

例>

array = [1, 2, 3];
newArray = [...array, 4];

console.log(newArray);
// => [1, 2, 3, 4] と出力される

...arrayにarray配列の要素が格納されており、4が追加処理されている

つまり、

setTodos([...todos,value]);

の場合も、todos配列の要素に新しくvalueを追加した配列をsetTodos=値を更新しているよ
ということ

偶に見かける"_"について

コーディング規約によるカプセル化を目的としており、プライベートにしたい変数名に _ ( アンダースコア ) をつけます。
あくまで「アクセスしてほしくない」という意図を他のプログラマに伝えているだけで、 仕組みとしてアクセス不可なわけではないらしい。

var Person = function(name, age) {
    if(!(this instanceof Person)) {
        return new Person(name, age);
    }

    // プライベート変数 ( プライベートにしたい変数 )
    this._name = name;
    // パブリック変数
    this.age  = age;
}

Person.prototype.setName = function() {
    this._name = name;
}
Person.prototype.getName = function() {
    return this._name;
}

var taro = new Person('太郎', 20);

// アクセス可能
console.log(taro.getName()); // 太郎
// アクセス可能
console.log(taro.age);       // 20
// 仕組みとしてアクセス不可なわけではないのでアクセス可能
console.log(taro._name);     // 太郎