15个常用的JavaScript简写技巧,2024年哔哩哔哩前端高级面试题及答案

let imagePath = getImagePath() || ‘default.jpg’;

5、与运算符 (&&)


如果你只有当某个变量为 true 时调用一个函数,那么你可以使用与 (&&)运算符形式书写

if (isLoggedin) {

goToHomepage();

}

// 简写

isLoggedin && goToHomepage();

6、交换两个变量


为了交换两个变量,我们通常使用第三个变量。但是我们也可以使用数组解构赋值来交换两个变量。

let x = ‘Hello’, y = “javaScript”;

const temp = x;

x = y;

y = temp;

// 简写

[x, y] = [y, x];

7、箭头函数


function add(num1, num2) {

return num1 + num2;

}

// 简写

const add = (num1, num2) => num1 + num2;

8、模板字符串


我们一般使用 + 运算符来连接字符串变量。使用 ES6 的模板字符串,我们可以用一种更简单的方法实现这一点。

console.log('You got a missed call from ’ + number + ’ at ’ + time);

// 简写

console.log(You got a missed call from ${number} at ${time});

9、多条件检查


对于多个值匹配,我们可以将所有的值放到数组中,然后使用indexOf()或includes()方法。

if (value === 1 || value === ‘one’ || value === 2 || value === ‘two’) {

// Execute some code

}

// 简写方法 1

if ([1, ‘one’, 2, ‘two’].indexOf(value) >= 0) { // indexOf 返回下标 没有则返回-1

// Execute some code

}

// 简写方法 2

if ([1, ‘one’, 2, ‘two’].includes(value)) { // includes 返回 turn / false

// Execute some code

}

10、对象属性复制


如果变量名和对象的属性名相同,那么我们只需要在对象语句中声明变量名,而不是同时声明键和值。JavaScript 会自动将键作为变量的名,将值作为变量的值。

let firstname = ‘Amitav’;

let lastname = ‘Mishra’;

let obj = {firstname: firstname, lastname: lastname};

// 简写

let obj = {firstname, lastname}; // es6中的速写属性

11、字符串转换成数字


除了使用内置属性parseInt和parseFloat可以用来将字符串转为数字。我们还可以简单地在字符串前提供一个一元运算符 (+) 来实现这一点。

let total = parseInt(‘453’);  // 整型数字

let average = parseFloat(‘42.6’);  // 浮点型数字 即 带小数点的数

// 简写

let total = +‘453’;

let average = +‘42.6’;

12、重复一个字符串多次


为了重复一个字符串 N 次,你可以使用for循环。但是使用repeat()方法,我们可以一行代码就搞定。

let str = ‘’;

for(let i = 0; i < 5; i ++) {

str += 'Hello ';

}

console.log(str); // Hello Hello Hello Hello Hello

// 简写

‘Hello’.repeat(5);

13、优雅的获取数组中的最大值 同理也可以求得最小值


我们可以使用 for 循环来遍历数组中的每一个值,然后找出最大或最小值。我们还可以使用 Array.reduce() 方法来找出数组中的最大和最小数字。但是使用扩展符号,我们一行就可以实现。

var arr1 = [1,2,3,4,999,1999];

Math.max(…arr); // 1999

Math.min(…arr); // 1

14、指数幂


我们可以使用Math.pow()方法来得到一个数字的幂。有一种更短的语法来实现,即双星号( ** )

const power = Math.pow(4, 3); // 64

// Shorthand

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

最后

面试题千万不要死记,一定要自己理解,用自己的方式表达出来,在这里预祝各位成功拿下自己心仪的offer。
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

大厂面试题

面试题目录

最后

面试题千万不要死记,一定要自己理解,用自己的方式表达出来,在这里预祝各位成功拿下自己心仪的offer。
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

[外链图片转存中…(img-temwx79D-1711892473150)]

[外链图片转存中…(img-npPiHsRv-1711892473150)]

[外链图片转存中…(img-MfzC1a2T-1711892473151)]

[外链图片转存中…(img-qrlsOTM9-1711892473151)]

  • 21
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值