ES 6基礎知識まとめ3----call()・apply()・bind()・set()およびクラスの基礎
18204 ワード
call()、apply()、bind()の使用例 call()定義:現在のオブジェクト を別のオブジェクトに置き換えるオブジェクトを呼び出す方法.
括弧内の最初のパラメータはthis指向と偽ってnullを入力できず、2番目のパラメータは伝達された値です. apply()定義:現在のオブジェクト を別のオブジェクトに置き換えるオブジェクトを呼び出す方法.
括弧内の最初のパラメータはthis指向と偽ってnullを入力できず、2番目のパラメータは伝達された値です.
ここでcallとapplyの違いは括弧内の2番目のパラメータであり、callの2番目のパラメータは配列に伝達され得るが、applyの2番目のパラメータは1つだけ伝達される. bind()定義:新しい関数を作成し、this に入力します.
bind()は新しい関数を作成するので、新しい呼び出しが必要です. set()定義:重複しない配列であり、配列の重み付けを実現することができる.set()メソッド:add()を追加delete()を削除長さsize遍歴for ofを配列Arrayに変換する.from()または[...]has() があるかどうか map()定義:オブジェクトに似ています.オブジェクトと区別:キー名は任意のオブジェクトであり、オブジェクト:キー名は文字列またはsymbolシンボルmapのみが秩序であり、オブジェクト:デフォルトで にソートされます.
使用方法: Symbol()定義:シンボルはオブジェクトのkeyに固有に使用されます. for ofループデフォルトループはval です.
クラスの作成
≪クラス|Class|emdw≫:オブジェクトを作成するテンプレート・インスタンスです.クラスによって作成されたオブジェクトです.クラスによって複数のインスタンスを作成できます.
継承クラス
今日更新して、毎日更新します
// call
// this , null,
var arr1 = Math.min.apply(null,arr);
console.log(arr1);
括弧内の最初のパラメータはthis指向と偽ってnullを入力できず、2番目のパラメータは伝達された値です.
// apply
// this , null,
var arr1 = Math.max.apply(null,...arr);//...arr ,
console.log(arr1);
括弧内の最初のパラメータはthis指向と偽ってnullを入力できず、2番目のパラメータは伝達された値です.
ここでcallとapplyの違いは括弧内の2番目のパラメータであり、callの2番目のパラメータは配列に伝達され得るが、applyの2番目のパラメータは1つだけ伝達される.
var name = 'mumu';
var age = 18;
function say(a,b){
console.log(` , ${
this.name}, ${
this.age} `)
console.log(a,b,a+b)
}
var nsay = say.bind({
name:'lh',age:18},10);
// say bind this bind ,a 10
nsay(7);//
bind()は新しい関数を作成するので、新しい呼び出しが必要です.
var s = new Set([1,3,1,3,5,7]);
s.add(9);
console.log(s);
//
s.delete(1);
console.log(s);
//
for(let i of s){
console.log(i)
}
//
console.log('size:',s.size);
//
console.log(' 5',s.has(5));
//
使用方法:
var obj = new Map([['a','good'],[b,'student'],[1,'best']]);// , b,1
// console.log(obj);
var s1 = Symbol('blue');
var obj = {
[s1]:'mumu'};
obj[s1];// s1
Symbol.for('blue') == Symbol.for('blue'); //true
Symbol('blue') == Symbol('blue'); //false
var arr = [' ',' ',' '];
val
for(let i of arr){
console.log(i)
}
for(let key of arr.keys()){
console.log(key)
}
for(let val of arr.values()){
console.log(val)
}
entries
for(let [key,val] of arr.entries()){
console.log(key,val)
}
クラスの作成
≪クラス|Class|emdw≫:オブジェクトを作成するテンプレート・インスタンスです.クラスによって作成されたオブジェクトです.クラスによって複数のインスタンスを作成できます.
class Animal{
constructor(name){
this.name = name;
//this
}
running(){
console.log(' ')
}
}
継承クラス
class Dog extends Animal{
constructor(name){
super(name);//
}
bark(){
console.log(' ')
}
}
var a1 = new Dog(' ');// Dog
a1.bark();//
var a2 = new Dog(' ');
a1.bark();
今日更新して、毎日更新します