当前位置: 首页 > news >正文

自己的服务器如何做网站西安危机公关公司

自己的服务器如何做网站,西安危机公关公司,网页翻译软件哪个好,社交网站建设需求分析js中! 、 !. 、!、?.、.?、??、??的用法及使用场景 !!!?.??????、?? 区别 !. (ts)注意 ! (非空断言符号) 用于取反一个布尔值或将一个值转换为布尔类型并取反 const a true; const b false; const value !a; // false const value !…

js中! 、 !. 、!、?.、.?、??、??=的用法及使用场景

  • !
  • !!
  • ?.
  • ??
  • ??=
    • ??、??= 区别
  • !. (ts)
  • 注意

!

  • (非空断言符号)

用于取反一个布尔值或将一个值转换为布尔类型并取反

const a= true; 
const b= false; const value = !a; // 'false'
const value =  !b; // 'true'

!!

  • (强制类型转换)

用于将一个值转换为对应的布尔值(强制类型转换)

const a= "Hello";
const value = !!a; //  'true',任何非空字符串在布尔上下文中都是真值

?.

  • (可选链操作符)

在访问对象属性或调用函数时,检查中间的属性是否存在或为 null/undefined。如果中间的属性不存在或为空,表达式将短路返回 undefined,而不会引发错误

const obj = {a: {b: {c: 42}},m: [],n: function () {return "Hello, world!";}
};// 传统写法 --需要手动检查每个属性
const value1 = obj && obj.a&& obj.a.b&& obj.a.b.c; 
const value2 = obj && obj.m&& obj.m[0] && obj.n[0].fn && obj.n[0].fn();
const value3 = obj && obj.n && obj.n();// 使用可选链操作符  --如果任何中间属性不存在或为空,value 将为 undefined// 对属性的检查
const value1 = obj?.a?.b?.x;//对数组下标的检查  ?. => ?.[] 
const value2 = obj?.m?.[2]; //对函数的检查  ?. => ?.()
const value3 = obj?.n?.(); 

??

  • (空值合并操作符 )

用于选择性地提供默认值,仅当变量的值为 null 或 undefined 时,才返回提供的默认值。否则,它将返回变量的实际值

const a= null;
const b= undefined;
const c= 0;
const d= '';
const e= false;//传统写法,除了null,undefined, 无法兼容0、''、false的情况,使用时要特别小心
const value1 = a || 'default'; // 'default'
const value2 = b || 'default'; // 'default'
const value3 = c || 'default'; // 'default',因为 0 转布尔类型是 false
const value4 = d || 'default'; // 'default',因为 '' 转布尔类型是 false
const value5 = e || 'default'; // 'default'const value1 = a ?? 'default'; // 'default',因为 a 是 null
const value2 = b ?? 'default'; // 'default',因为 b 是 undefined
const value3 = c ?? 'default'; // 0,因为 c 不是 null 或 undefined
const value4 = d ?? 'default'; // false,因为 d 不是 null 或 undefined

??=

  • (空值合并赋值操作符)

结合了空值合并操作符和赋值操作符。它用于将默认值分配给变量,仅当变量的值为 null 或 undefined 时

let a= null;
let b= undefined;
let c= 0;a ??= 'default'; // 'default',因为 a 是 null
b ??= 'default'; // 'default',因为 b 是 undefined
c ??= 'default'; // 0,因为 c的初始值不是 null 或 undefined

??、??= 区别

  • 是否是复制操作
含义
??在??左边是null或者undefined的时候,返回右边的结果
??=当左边是null或者undefined的时候,赋值右边的结果。

!. (ts)

  • (非空断言操作符符)

在访问对象属性或调用函数时,检查中间的属性是否不存在或不是 null/undefined,表示确定某个标识符是有值的。

function a(value?:string){console.log(value!.length);// console.log(value.length); //错误提醒:value is possibly 'undefined'.} 
a('b')// 注意: !.不传值, 编译JS后会报错, 建议使用?. 替代 !.

注意

  • !. 、 ?.、??、??= 是在 ECMAScript 2020 标准中引入的,因此在旧版本的 JavaScript 中可能不被支持
http://www.dt0577.cn/news/49383.html

相关文章:

  • 杭州企业seo网站优化北京网站
  • 做网站赚钱 优帮云理发美发培训学校
  • 公司网站大顶图怎么做2021年热门关键词
  • pytson做网站安全吗目前最火的自媒体平台
  • 做数码测评的网站搜索量排名
  • 网站建设 网络推广怎么创建一个网页
  • 做推广的免费的济宁网站有哪些独立站seo建站系统
  • 怎么做自己的视频网站品牌网络营销案例
  • 网站开发需要什么条件杭州网站优化推荐
  • 做asmr的网站中国新冠一共死去的人数
  • 免费ppt模板下载网站入口中国楼市最新消息
  • 了解深圳网站页面设计全媒体运营师报考条件
  • 江苏镇江疫情最新消息今天封城了seo优化资源
  • 厦门网站建设维护推广软文范例大全500
  • 网站建设技术分享在线营销推广
  • 律师怎样做网站seo关键词优化要多少钱
  • 平面设计人才网广州seo实战培训
  • thinkphp5 做网站怎么做电商平台
  • 网站开发的大致流程打开2345网址大全
  • 宝鸡品牌网站建设手机上如何制作自己的网站
  • 建一个营销网站的步骤全球热门网站排名
  • 简单网站建设推荐腾讯会议付费
  • 深圳门户网站建设方案站长平台
  • 深圳永久免费网站建设哪个好武汉大学人民医院院长
  • 建网站费用记技术服务费域名注册服务网站
  • 做期货在哪个网站看消息seo的基本工作内容
  • 网站费有发票怎么做会计分录站长工具关键词排名怎么查
  • 岳阳做公司网站网络营销有本科吗
  • python做网站比php好厦门网站优化
  • pc端网站营销春哥seo博客