欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

javascript === 用法

劉柏宏1年前7瀏覽0評論

JavaScript中有三個等號(===)的操作符,是用來比較兩個值的類型和值是否相等的。它與他的兄弟運算符雙等號(==)的區別在于它比較嚴格、更精確,能夠避免因類型轉換而引起的隱蔽錯誤。

我們用一些例子來說明三等號運算符(===)的使用方式:

console.log(0 === "");      // false
console.log(undefined === null);    // false
console.log(NaN === NaN);      // false
console.log("1" === 1);      // false
console.log("true" === true);   // false
console.log(" " === 0);     // false
console.log(true === 1);    // false
console.log(false === "");    // false
console.log(null === undefined);  // false
console.log(1 === 1);       // true
console.log("123" === "123");   // true
console.log(false === false);   // true
console.log(true === true);    // true
console.log(null === null);    // true
console.log(undefined === undefined);  // true

由上述例子,我們可以看出,如果兩個操作數類型不相同,則 === 運算符會返回false,不管它們的值是否相等。例如,0不等于空字符串,false也不等于空字符串。

還要注意的是,NaN是一個特別的值,它與自身不等。因此,使用 === 運算符比較 NaN 時,結果是 false。

再看看下面的代碼,案例目的是將典型的方法化為面向對象:

過程式編程:

const carManufacturer = "Toyota";
const carModel = "Prius";
const carColor = "gray";
console.log("I have a " + carManufacturer + " " + carModel + " that is " + carColor + ".");
console.log(capitalize(carManufacturer) + " " + capitalize(carModel));
function capitalize(s) {
return s[0].toUpperCase() + s.slice(1);
}

下面是重構后的代碼:

class Car {
constructor(manufacturer, model, color) {
this.manufacturer = manufacturer;
this.model = model;
this.color = color;
}
toString() {
return `I have a ${this.manufacturer} ${this.model} that is ${this.color}.`;
}
fullname() {
return `${capitalize(this.manufacturer)} ${capitalize(this.model)}`;
}
}
const myCar = new Car("Toyota", "Prius", "gray");
console.log(myCar.toString());
console.log(myCar.fullname());
function capitalize(s) {
return s[0].toUpperCase() + s.slice(1);
}

在重構后的代碼中,我們把過程式編程轉化為面向對象編程。創建了一個 Car 類,其構造函數接受制造商、型號和顏色。并且我們把之前的打印語句轉換成了 toString() 方法,強調了 Car 對象的表示形式,并加上了 fullname() 方法打印汽車的制造商和型號。

本篇文章講述了 JavaScript 中三等號(===)的運算符,它能夠更加嚴格、更精確地比較兩個值的類型和值是否相等而避免隱蔽錯誤。