jsのXOR演算と継承

jsのXOR演算

JavaScript では、XOR 演算は記号 ^ で表されます。その機能は 2 つの 2 進数をビットごとに比較することです。それらが同じである場合、対応するビットの結果は 0 になります。それらが異なる場合、対応するビットの結果は 0 になります。ビットは1です。例えば:

console.log(5 ^ 3); // 输出2,因为5和3的二进制分别是101和011,按位异或后得到110,即2

2 つのオペランドのうちの 1 つが 2 進数でない場合は、2 進数に変換されて演算されます。両方のオペランドが数値型でない場合、演算前に文字列型に変換されます。具体的な規則については、JavaScript データ型変換を参照してください。

js継承の概要

JavaScript では、継承は次の方法で実装できます。

  1. プロトタイプの継承

継承は、あるコンストラクターのプロトタイプ オブジェクトを別のコンストラクターのプロトタイプとして使用することにより、プロトタイプ チェーンに基づいて実装されます。

// 父类
function Animal() {
    this.eat = function () {
        console.log('Animal eat');
    }
}

// 子类
function Dog() {
}

// 继承
Dog.prototype = new Animal();

// 创建实例
var dog = new Dog();
dog.eat(); // 输出: Animal eat

  1. コンストラクターの継承

継承は、あるコンストラクターを別のコンストラクター内で呼び出すことによって実現されます。

// 父类
function Animal(name) {
    this.name = name;
}

// 子类
function Dog(name) {
    Animal.call(this, name);
}

// 创建实例
var dog = new Dog('Tom');
console.log(dog.name); // 输出: Tom

  1. 構成継承

プロトタイプ継承とコンストラクター継承の両方を使用して継承を実装します。

// 父类
function Animal(name) {
    this.name = name;
}

Animal.prototype.eat = function() {
    console.log('Animal eat');
}

// 子类
function Dog(name) {
    Animal.call(this, name); // 构造函数继承
}

Dog.prototype = new Animal(); // 原型继承

// 创建实例
var dog = new Dog('Tom');
dog.eat(); // 输出: Animal eat
console.log(dog.name); // 输出: Tom

  1. ES6 が拡張

class キーワードと extends キーワードは ES6 の新機能であり、継承の実装が簡単になります。

// 父类
class Animal {
    constructor(name) {
        this.name = name;
    }

    eat() {
        console.log('Animal eat');
    }
}

// 子类
class Dog extends Animal {
    constructor(name) {
        super(name);
    }
}

// 创建实例
let dog = new Dog('Tom');
dog.eat(); // 输出: Animal eat
console.log(dog.name); // 输出: Tom

出典: Weidian Reading    https://www.weidianyuedu.com

おすすめ

転載: blog.csdn.net/hdxx2022/article/details/132663703