当前位置: 首页 > Web前端 > HTML

18个JavaScript入门技巧!_0

时间:2023-04-02 14:18:52 HTML

作者:MehulLakhanpal译者:前端小智来源:dev有梦想,有干货,微信搜索【伟大的走向世界】关注这位大清早还在洗碗的洗碗智慧。本文已收录到GitHubhttps://github.com/qq449245884/xiaozhi,里面有完整的测试站点、资料和我的一线厂商访谈系列文章。1.转换字符串constinput=123;console.log(输入+'');//'123'console.log(String(input));//'123'console.log(input.toString())//1233.转布尔值constinput=1;//方案一——使用双感叹号(!!)转为布尔值console.log(!!输入);//true//选项2-使用Boolean()方法console.log(Boolean(input));//true4.字符串'false'有问题constvalue='false';console.log(Boolean(value));//trueconsole.log(!!value);//true//最好的检查方式console.log(value==='false');null与undefinednull是一个值,而undefined不是。null就像一个空盒子,而undefined没有盒子。constfn=(x='default')=>console.log(x);fn(未定义);//默认值fn();//默认值fn(null);//null如果传入null,则不使用默认值,当传入undefined或不传参数时,使用默认值。6、真值和假值假值:false、0、""、null、undefined、NaN。真值:“Values”,0,{},[]。7.const声明可以改变哪些类型的变量。如果不想改变值,可以使用const:constname='前小智';name='王大爷';//错误constlist=[];list=[1];//报错constobj={};obj={name:'前端小智'};//报错但是const-declared引用类型,它的值可以改变:constlist=[];列表.推送(1);//作品列表[0]=2;//worksconstobj={};obj['name']='前端小智';//works8.三个等号与双等??号的区别//双等号-将两个操作数转换为同一类型,然后比较console.log(0=='o');//true//三重等号-不转换为同一类型console.log(0==='0');//错误9。接收参数的更好方法functiondownloadData(url,resourceId,searchTest,pageNo,limit){}downloadData(...);//需要记住顺序比较简单methodfunctiondownloadData({url,resourceId,searchTest,pageNo,limit}={}){}downloadData({resourceId:2,url:"/posts",searchText:"WebDev"});10.把普通函数改成箭头函数constfunc=function(){console.log('a');返回5;};函数();可以重写为constfunc=()=>(console.log('a'),5);功能();11.从箭头函数返回对象/表达式constgetState=(name)=>({name,message:'Hi'});12.将集合转换为数组constset=newSet([1,2,1,4,5,6,7,1,2,4]);控制台日志(设置);//Set(6){1,2,4,5,6,7}set.map((num)=>num*num);//类型错误:设置。mapisnotafunctionconverttoarrayconstarr=[...set]13.检查值是否为数组constarr=[1,2,3];console.log(类型arr);//objectconsole.log(Array.isArray(arr));//真14。获取对象的所有keycosntobj={name:"前端小智",年龄:16,地址:"厦门",职业:"前端开发",};console.log(Object.keys(obj));//姓名、年龄、地址、职业15.双问号语法constheight=0;console.log(height||100);//100console.log(高度??100);//0这个??意味着如果??左边的值为null或未定义,则返回右侧的值16。map()map()方法创建一个新数组,结果是数组中的每个元素是调用提供的函数一次后的返回值。常数numList=[1,2,3];constsquare=(num)=>{returnnum*num}constsquares=numList.地图(正方形);安慰。日志(正方形);//[1,4,9]17.try..catch..finallyconstgetData=async()=>{try{setLoading(true);constresponse=awaitfetch("https://jsonplaceholder.typicode.com/posts");constdata=awaitresponse.json();设置数据(数据);}赶上(错误){console.log(错误);setToastMessage(错误);}最后{setLoading(false);//不管报错与否,最后都会执行}};getData();18.解构constresponse={msg:"success",tags:["programming","javascript","computer"],body:{count:5},};const{body:{count,unknownProperty='test'},}=response;console.log(count,unknownProperty);//5'test'代码部署后可能存在的Bug无法实时获知,为了解决这些Bug之后需要大量时间去记录调试,顺便推荐一个好用的BUG监控工具Fundebug。原文:https://dev.to/318097/18-tips...交流有梦想,有干货,微信搜索【大招走向世界】关注这位早期还在洗碗的洗碗智慧早晨。本文GitHubhttps://github.com/qq44924588...已收录,有完整的测试站点、资料和我的一线厂商访谈系列文章。