中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript運算符與表達式實例代碼分析

發布時間:2023-04-17 09:59:43 來源:億速云 閱讀:83 作者:iii 欄目:開發技術

本篇內容主要講解“JavaScript運算符與表達式實例代碼分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“JavaScript運算符與表達式實例代碼分析”吧!

一、===

嚴格相等運算符,用作邏輯判斷

1 == 1        // 返回 true 
1 == '1'    // 返回 true,會先將右側的字符串轉為數字,再做比較
1 === '1'    // 返回 false,類型不等,直接返回 false

typeof查看某個值的類型

typeof 1    // 返回 'number'
typeof '1'    // 返回 'string'

二、||

需求,如果參數n沒有錯傳遞,給它一個【男】

推薦做法:

function test(n = '男') {
    console.log(n);
}

你可能的做法:

function test(n) {
    if(n === undefined) {
        n = '男';
    }
    console.log(n);
}

還可能是這樣:

function test(n) {
    n = (n === undefined) ? '男' : n;
    console.log(n);
}

一些老舊代碼中的可能做法(不推薦):

function test(n) {
    n = n || '男';
    console.log(n);
}

它的語法是:

值1 || 值2

如果值1 是 Truthy,返回值1,如果值1 是 Falsy 返回值 2

三、??與?.

??

需求,如果參數n沒有傳遞或是null,給它一個【男】

如果用傳統辦法:

function test(n) {
    if(n === undefined || n === null) {
        n = '男';
    }
    console.log(n);
}

用??

function test(n) {
    n = n ?? '男';
    console.log(n);
}

語法:

值1 ?? 值2

  • 值1 是 nullish,返回值2

  • 值1 不是 nullish,返回值1

?.

需求,函數參數是一個對象,可能包含有子屬性

例如,參數可能是:

let stu1 = {
    name:"張三",
    address: {
        city: '北京'
    }
};
 
let stu2 = {
    name:"李四"
}
 
let stu3 = {
    name:"李四",
    address: null
}

現在要訪問子屬性(有問題)

function test(stu) {
    console.log(stu.address.city)
}

現在希望當某個屬性是 nullish 時,短路并返回 undefined,可以用 ?.

function test(stu) {
    console.log(stu.address?.city)
}

用傳統方法:

function test(stu) {
    if(stu.address === undefined || stu.address === null) {
        console.log(undefined);
        return;
    }
    console.log(stu.address.city)
}

四、...

展開運算符

作用1:打散數組,把元素傳遞給多個參數

let arr = [1,2,3];
 
function test(a,b,c) {
    console.log(a,b,c);
}

需求:把數組元素依次傳遞給函數參數

傳統寫法:

test(arr[0],arr[1],arr[2]);        // 輸出 1,2,3

展開運算符寫法:

test(...arr);                    // 輸出 1,2,3

打散可以理解為【去掉了】數組外側的中括號,只剩下數組元素

作用2:復制數組或對象

數組:

let arr1 = [1,2,3];
let arr2 = [...arr1];        // 復制數組

對象:

let obj1 = {name:'張三', age: 18};
 
let obj2 = {...obj1};        // 復制對象

注意:展開運算符復制屬于淺拷貝,例如:

let o1 = {name:'張三', address: {city: '北京'} }
 
let o2 = {...o1};

作用3:合并數組或對象

合并數組:

let a1 = [1,2];
let a2 = [3,4];
 
let b1 = [...a1,...a2];        // 結果 [1,2,3,4]
let b2 = [...a2,5,...a1]    // 結果 [3,4,5,1,2]

合并對象:

let o1 = {name:'張三'};
let o2 = {age:18};
let o3 = {name:'李四'};
 
let n1 = {...o1, ...o2};    // 結果 {name:'張三',age:18}
 
let n2 = {...o3, ...o2, ...o1}; // 結果{name:'李四',age:18}

復制對象時出現同名屬性,后面的會覆蓋前面的

五、[] {}

[]

解構賦值

用在聲明變量時:

let arr = [1,2,3];
 
let [a, b, c] = arr;    // 結果 a=1, b=2, c=3

用在聲明參數時:

let arr = [1,2,3];
 
function test([a,b,c]) {
    console.log(a,b,c)     // 結果 a=1, b=2, c=3
}
 
test(arr);

{}

用在聲明變量時:

let obj = {name:"張三", age:18};
 
let {name,age} = obj;    // 結果 name=張三, age=18

用在聲明參數時:

let obj = {name:"張三", age:18};
 
function test({name, age}) {
    console.log(name, age); // 結果 name=張三, age=18
}
 
test(obj)

到此,相信大家對“JavaScript運算符與表達式實例代碼分析”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台山市| 潮州市| 华阴市| 兴山县| 林州市| 泰来县| 油尖旺区| 尼勒克县| 永年县| 新竹市| 莒南县| 辛集市| 淮北市| 石家庄市| 潮安县| 湟中县| 三穗县| 车险| 东至县| 巩义市| 河池市| 杂多县| 观塘区| 桑日县| 威远县| 区。| 喀什市| 贵港市| 镇坪县| 辉县市| 湖州市| 新源县| 贵州省| 缙云县| 论坛| 岳池县| 含山县| 财经| 静安区| 阿克苏市| 来安县|