程序员提高写代码速度_学完javascript学什么

程序员提高写代码速度_学完javascript学什么优雅的代码编写格式,提升效率的同时更美观

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

? 变量声明

  • 多个变量的声明,可以简写
// 非效率写法
let x;
let y;
let z = 520;

// 效率写法
let x, y, z = 520;

? 三元运算符

  • 在条件判断时,可以使用三元运算符增加效率
let num1 = 520;
let num2 = 1314;

// 非效率写法
if (num1 > num2) {
		// ...
} else {
		// ...
}

// 效率写法
let result = num1 > num2 ? true : false;

? 解构赋值

  • 变量赋值
let a, b, c;

// 非效率写法
a = 1;
b = 2;
c = 3;
 
// 效率写法
let [a, b, c] = [1, 2, 3];

? 解构交换

  • 交换两个变量
let x = '极客飞兔', y = '程序员';
 
// 非效率写法
const temp = x;
x = y;
y = temp;
 
// 效率写法
[x, y] = [y, x];

? 箭头函数

  • 函数的简写方式
// 非效率写法
function add(num1, num2) {
  return num1 + num2;
}
 
// 效率写法
const add = (num1, num2) => num1 + num2;

? 字符串模版

// 非效率写法
console.log('极客飞兔的年龄 ' + age + ' 他的身高 ' + height);
 
// 效率写法
console.log(`极客飞兔的年龄 ${age} 他的身高 ${height}`);

? 多值匹配

  • 判断某个值是否等于某个多个值中的一个
// 非效率写法
if (value === 1 || value === '飞兔' || value === 2 || value === '程序员') {
  // ...
}
 
// 效率写法一
if ([1, '飞兔', 2, '程序员'].indexOf(value) >= 0) {
   // ...
}
 
// 效率写法二
if ([1, '飞兔', 2, '程序员'].includes(value)) { 
    // ...
}

? ES6对象简写

let firstname = '极客';
let lastname = '飞兔';
 
// 非效率写法
let userinfo = {firstname: firstname, lastname: lastname};
 
// 效率写法
let userinfo = {firstname, lastname};

? 字符串转数字

// 非效率写法
let total = parseInt('520');
let average = parseFloat('13.14');
 
// 效率写法
let total = +'520';
let average = +'13.14';

? 次方相乘

// 非效率写法
const power = Math.pow(2, 5);
 
// 效率写法
const power = 2**5;

? 数组合并

let arr1 = [520, 1314];
 
// 非效率写法
let arr2 = arr1.concat([1225, 1115]);
 
// 效率写法
let arr2 = [...arr1, 1225, 1115];

? 查找数组最大值最小值

const arr = [520, 1314, 1115, 1225];

// 效率写法
Math.max(...arr);
Math.min(...arr);

? 获取字符串字符

let str = 'https://autofelix.blog.csdn.net/';
 
// 非效率写法
str.charAt(10);
 
// 效率写法
str[10];

? 并&&操作

function fn() {
	return true;
}

let flag = true;

// 非效率写法
if (flag) {
	fn();
}

// 效率写法
flag && fn();

? 数组排序

const arr = [40, 2, 1, 5, 99, 111];

// 从小到大
arr.sort((a, b) => a - b); // [1, 2, 5, 40, 99, 111]

// 从大到小
arr.sort((a, b) => b - a); // [111, 99, 40, 5, 2, 1]

? 数组过滤

  • 从数组中过滤假数值
const arr = [3, '1', '', 0, false, null, undefined];

arr.filter(Boolean); // [3, '1']

? for循环

let arr = ['极客飞兔', 520, 1314, '程序员']

// 非效率写法
for (var i = 0; i < arr.length; i++) {}

// 效率写法
for (const i in arr) {}
// 效率写法
for (const i of arr) {}

? 判断奇偶

  • 使用& 1 判断奇偶数
// 非效率写法
if(value % 2 == 0) {
	// 是偶数
} else {
	// 是奇数
}

// 效率写法
2 & 1; // 0 返回0表示偶数
3 & 1; // 1 返回1表示奇数

? 数组去重

const array  = [5,4,7,8,9,2,7,5];

// 效率的两种写法
array.filter((item,idx,arr) => arr.indexOf(item) === idx);
const nonUnique = [...new Set(array)];

? IF检查

// 非效率写法
if (result === true)
  
// 效率写法
if (result)

? 合并对象

const user = { 
  name: '极客飞兔', 
  gender: '男' 
};

const college = { 
  primary: '清华大学', 
  secondary: '社会大学' 
};

const skills = { 
  java: 'JAVA', 
  php: 'PHP', 
  python: 'PYTHON' 
};

const summary = {...user, ...college, ...skills};

? 可选链

const user = {
  employee: {
    name: "极客飞兔"
  }
};

// 可选链
user.employee?.name;
user.employ?.name;
user.employ.name;

? 字符串重复

// 非效率写法
let str= ''; 
for(let i = 0; i < 5; i ++) { 
  str+= 'autofelix '; 
} 

// 效率写法
'autofelix '.repeat(5);

? 默认值

let user; 
let name = getUserName();
 
// 非效率写法
if (name !== null && name !== undefined && name !== '') {
    user = name;
} else {
    user = '极客飞兔';
}
 
// 效率写法
let user = getUserName() || '极客飞兔';

? 双波浪线运算符

// 非效率写法
const floor = Math.floor(6.8); // 6
 
// 效率写法
const floor = ~~6.8; // 6

? 移除对象属性

let obj = {x: 45, y: 72, z: 68, p: 98};
 
// 非效率写法
delete obj.x;
delete obj.p;
console.log(obj); // {y: 72, z: 68}
 
// 效率写法
let {x, p, ...newObj} = obj;
console.log(newObj); // {y: 72, z: 68}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170853.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android 测试用例模板下载,app测试用例模板.doc

    android 测试用例模板下载,app测试用例模板.docapp测试用例模板APP基本测试用例个人首页1.我的页面2.个人信息页面3.个性标签页面4.TA的页面消息页面消息页面发布商品和图片发布商品分享图片买买买页面买买买页面一级分类页面买手热荐品类二级分类页面侧边栏页面购物车页面我的钱包页面一、编号条件步骤预期结果实际结果1打开我的页面?出现我的信息(头像、昵称、签名、关注数、粉丝数、入手、出手)、中部出现切换我发表的与我喜欢的tab、下部列表出现内容…

    2022年7月17日
    10
  • vue格式化时间戳_日期格式转换

    vue格式化时间戳_日期格式转换第一步:下载安装第三方组件:npminstallmoment–save第二步:在你需要格式化时间的页面引入moment组件importmomentfrom’moment’第三步:然后配合我们element-ui,在元素中加入:formatter<el-table-columnprop=”add_time”label=”创建时间”:formatter=”dateFormat”width=”200px”></el-table-column&gt

    2022年9月25日
    0
  • 杭州电商团队_杭州十大跨境电商公司

    杭州电商团队_杭州十大跨境电商公司不是阿里,是….

    2022年9月13日
    0
  • OPC协议_opc协议端口号

    OPC协议_opc协议端口号当然,OPCUA组件也可以在Unix操作系统的信息技术(IT)系统中使用,诸如:Solaris、HPUX、AIX、Linux等,可以是企业资源计划(ERP)系统,可以是生产计划(MES)和监控软件(SCADA),还可以是电子商务应用。OPCUA接口协议包含了之前的A&E,DA,OPCXMLDAorHDA,只使用一个地址空间就能访问之前所有的对象,而且不受WINDOWS平台限制,因为它是从传输层Scoket以上来定义的,这点后面会提到,导致了灵活性和安全性比之前的OPC都提升了。……

    2025年5月26日
    0
  • 华为工作法摘抄笔记

    1.华为的工作目标管理法永远不要"先干起来再说"写下最初的梦想有时候,工作中忙碌的人正如草原上的羚羊一样。当羚羊被狮子追逐的时候,它们会莫名其妙地停下来,或者直接撞到狮子的

    2021年12月30日
    50
  • 接口测试面试题及答案(最新java面试题及答案)

    接口测试面试题及答案(最新java面试题及答案)Http与Https的区别:Http与Https的区别:HTTP的URL以http:// 开头,而HTTPS的URL以https:// 开头HTTP是不安全的,而HTTPS是安全的HTTP标准端口是80,而HTTPS的标准端口是443在OSI网络模型中,HTTP工作于应用层,而HTTPS的安全传输机制工作在传输层HTTP无法加密,而HTTPS对传输的数据进行加密HTT…

    2022年4月18日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号