首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

开发中经常遇到JavaScript问题整理(超实用)

,它 undefined(除非被重新定义过),通过 void 运算符即可得到该值 在 void 之后语句或表达式都将返回 undefined。...void 并不会改变表达式结果,只是让表达式返回void true; // undefined void 0; // undefined void 运算符在其他地方也可以派上用场,比如不让表达式返回任何结果...- 是一元运算符,这样数字转换为字符串方法属于显示转换 - 运算符还有反转符号位功能,当然不能把一元操作符连在一起写,不然会变成 --,当做递减运算符号来计算了,我们可以理解 - 运算符出在单数次数会符号位...0,其他情况下则返回真值 -1 是一个 哨位值,哨位值是那些在各个类型中被赋予了特殊含义值。...并按顺序输出结果 Promise.all 首先我们可以想到是利用 Promise.all 来实现,代码实现如下 const urls = ['./1.json', './2.json', './3.json

1.5K10

JavaScript 常见面试题速查

() 不能得到其对象类型,只能将 obj 转换为字符串类型。...可以通过一些方法获得安全 undefined 值,如 void 0。 在使用 typeof 进行判断时,Null 类型返回 object,这是一个历史遗留问题。...表达式 void 没有返回值,因此返回结果是 undefined。 void 并不改变表达式结果,只是让表达式返回值。因此可以用 void 0 来获得 undefined。...JavaScript 中,基本类型是没有属性和方法,但为了便于操作基本类型值,在调用基本类型属性或方法时 JavaScript 会在后台隐式地基本类型换为对象。...(包括函数语句、函数表达式、Lambda 表达式返回是一个 Promise 对象,如果函数中 return 一个直接量,async 会把这个直接量通过 Promise.resolve() 封装成 Promise

50530
您找到你想要的搜索结果了吗?
是的
没有找到

ES6语法

按一定模式从数组或对象中提取值变量赋值叫做解构 模式匹配,等号左右两边模式相同,不能解构赋值undefined 部分匹配,左边变量少于右边数组 右边不是数组 表达式惰性求值,需要赋值时候执行表达式...json 属性都是字符串 转成对象,JSON.stringify(obj),JSON.parse(str) 属性不全是字符串 转成数组,JSON.stringify([...map]),JSON.parse...(str) JSONMap 键名都是字符串 对象Map 整个JSON是数组,且每个元素又是数组 new Map(JSON) Proxy Reflect Proxy是在访问之前做一层拦截,对访问进行处理...是遍历器生成函数,执行这个函数就会返回一个遍历器 Symbol.iterator是表达式返回Symbol对象iterator属性(类型Symbol),所以要用[]设置或访问 原生数据具有iterator...(error);pending->rejected未完成到失败,异步操作错误传递出去 } }) promisethen promise对象then方法分别指定resolved和rejected

7910

实现TypeScript运行时类型检查

JSON换为对应编程语言数据结构时, 需要声明JSON 与编程语言数据结构对应关系, 然后再进行转换, 这个过程称为encode.TypeScript 中类型TypeScript 在设计之初便以兼容...JavaScript 原则, 所以JSON 也可以直接转换为TypeScript 中类型.比如有以下JSON 数据:{ "gender": 0}该JSON 可以对应到TypeScript 类型:enum...user: User = JSON.parse(`{ "gender": 0 }`);由于JSON.parser返回类型any, 故在我们需要显示地声明user变量User类型.但是如果JSON 数据...进行了inc串行运算.既当Promise处于resolved状态时, 对其包含value: number进行inc, 其返回结果同样一个Promise.若Promise处于rejected..., 是仅仅一篇博客无法讲完.有兴趣读者推荐这篇教程.

2.4K30

2021JavaScript面试题(最新)不定时更新(2021.11.6更新)

toString null 和 undefined 类型 ,null 转换为 “null”,undefined 转换为 “undefined”, Boolean 类型,true 转换为 “true”,false...对象字符串 JSON.stringify(obj) 字符串对象或数组 JSON.parse(str) 其他值到布尔类型转换规则?...{} 和 [] valueOf 和 toString 结果是什么? valueOf()方法会将对象转换为基本类型,如果无法换为基本类型,则返回原对象。...当在Promise中调用resolve之后,如果当前状态pending,则状态由pendingfulfilled,记录传入值,并依次执行成功回调;若在Promise中调用reject,如果当前状态...7、字符串模式匹配 search() 查找与正则表达式相匹配值,返回第一个匹配位置索引,没找到返回-1。 match() 查找找到一个或多个正则表达式匹配,将会把所有的匹配打包成一个数组返回

2.4K11

iOS如何优雅处理“回调地狱Callback hell”(一)——使用PromiseKit

使用PromiseKit,能够编写出整洁,有序代码,逻辑简单Promise作为参数,模块化从一个异步任务到下一个异步任务中去。...]返回还是一个promise对象,在promise方法中有then方法,所以上面可以那样链式调用。...总结起来就是上图,pending状态promise对象既可转换为带着一个成功值 fulfilled 状态,也可变为带着一个 error 信息 rejected 状态。...从Pending转换为fulfilled或Rejected之后, 这个promise对象状态就不会再发生任何变化。...when就是在传入promises数组里面,依次执行各个promise,结果最后传给新生成一个promise,作为返回返回

3.7K41

社招前端二面面试题

([, replacer , space) 方法是一个 JavaScript 值(对象或者数组)转换为一个 JSON 字符串。...Promise.resolvePromsie.resolve(value) 可以任何值转成值 value 状态是 fulfilled Promise,但如果传入值本身是 Promise 则会原样返回它...JavaScript 中如何进行隐式类型转换?首先要介绍ToPrimitive方法,这是 JavaScript 中每个值隐含自带方法,用来值 (无论是基本类型值还是对象)转换为基本类型值。...如果值基本类型,则直接返回值本身;如果值对象,其看起来大概是这样:/*** @obj 需要转换对象* @type 期望结果类型*/ToPrimitive(obj,type)typenumber...总结上面的规则,对于 Date 以外对象,转换为基本类型大概规则可以概括一个函数:var objToNumber = value => Number(value.valueOf().toString

75220

co源码解读

Promise,而co会帮你把其他几种类型值转换为Promise,co绝大部份代码都是在处理类型转换; 当然,在讲类型转换那一块之前,还是co执行Generator那几个函数说一下子,也就是调用...next: 函数会判断传入参数done属性,如果true( 则表示该Generator已经执行完毕),会调用co返回Promise对象resolve方法,结束代码执行; 如果donefalse...co整个执行流程其实就是这样-.- 剩余代码所完成事情就是各种不同类型换为可执行Promise对象。...thunkToPromise(Function): 函数返回一个Promise对象,在Promise内部执行了传入function; 并会认为回调第一个参数Error(这个貌似是个标准…); 将其余参数打包到一个数组中返回...具体做事儿呢; 就是一个Object每一个key都转换为Promise,并塞到一个数组中; 执行Promise.all()将上边数组塞进去; 当某一个key所对应Promise函数执行完毕后,

1K60

什么是 TypeScript 4.1 中模板字面类型

您可以通过指定 --noLib 编译器命令行标志或在 tsconfig.json 中配置 noLib true 来排除它。...create(): Promise; } any/unknown 向外传播 在 TypeScript 4.1 之前,对于像 foo && somethingElse 这样表达式,...是变量强制转换为布尔值(真或假)一种简便方法。...要解决这个问题,必须在 Promise 中给 resolve 提供至少一个值,否则,在确实需要不带参数情况下调用 resolve() 情况下,必须使用显式 void 泛型类型参数声明 Promise...在下面的重载示例(同一功能提供多种功能类型)中, pickCard 函数根据用户传入内容返回两个不同内容。如果用户传入表示 deck 对象,则该函数选择 card。

3.9K10

深入了解rollup(四)插件开发示例

* 可以传入字符串、正则表达式或字符串/正则表达式数组作为参数。* 返回一个函数,该函数接受文件路径作为参数,并返回一个布尔值,表示该文件是否应该被处理。...接下来,尝试代码解析 JSON 对象,并使用 dataToEsm(parse) 方法解析后对象转换为 ES 模块格式代码。.../package.json";console.log(pkg.name)图片读取mini-svg-data-uri是一个用于SVG图像转换为mini data URI格式JavaScript库。...在插件transform方法中,首先使用过滤器函数判断是否需要处理当前文件。然后根据文件扩展名判断是否图片文件,并获取对应MIME类型。接下来根据配置目标路径和文件名构建最终文件路径。...如果图片文件大小超过了设置阈值,则直接拷贝该文件到目标路径,并返回拷贝后路径。否则,图片内容转换为base64格式,并返回对应data URI。

33830

ECMAScript 6 基础和高级

ECMAScript 6 基础和高级 目录 let命令和const命令 结构赋值 模板字符串 字符串方法 数值类型扩展 数组扩展运算符 数组新增API 对象合并 箭头函数 Promise 对象 async...,表示原字符串重复n次 数值类型扩展 全局方法parseInt()和parseFloat(),移植到Number对象上面,行为完全保持不变. let a = 1.9 console.log...,数组中元素原始数组元素调用函数处理后值....返回值 如果函数调用返回json对象,需要用小括号把json对象包起来. 使用注意点 箭头函数不做this绑定,函数体内this继承(就是)外层代码块this....代码解释 异步同步, test函数中代码同步执行, 是阻塞. await 标识符必须放在 async 函数中 takeLongTime=>不一定非得加 async, 只要返回值是 Promise

62140

ECMAScript6介绍及环境搭建

Babel是一个广泛使用ES6码器,可以ES6代码转为ES5代码,从而在现有环境执行。这意味着,你可以用ES6方式编写程序,又不用担心现有环境是否支持。...在解构中,有下面两部分参与: 解构源,解构赋值表达式右边部分; 解构目标,解构赋值表达式左边部分; 在ES5中,变量赋值只能直接指定变量值: let a = 1; let b = 2; 在ES6...而 indexOf 和 lastIndexOf 这两个方法,它们会将正则表达式换为字符串并搜索它。 (2)字符串重复 repeat():返回字符串,表示字符串重复指定次数返回。...Array与Set类型转换 // Array Set var mySet = new Set(["value1", "value2", "value3"]); // 用...操作符, Set ...无法取消 Promise ,一旦新建它就会立即执行,无法中途取消。

1.7K40

ECMAScript 2020(ES11) 新特性总结

[x] 上面的代码中,如果 a undefined或null,则表达式会立即返回undefined,否则返回所访问属性值。也就是说,它们与下面这段代码是等价: a == null ?...(缓解跨站脚本攻击问题,该政策要求禁止使用 eval 及相关功能),上面这段代码无法在 Chrome APP 运行环境中正常执行。...返回一个组合后 promise,当 promise 中有任意一个切换为 fulfilled 或 rejected 状态时,该 promise 立即切换为相同状态; Promise.allSettled...返回一个组合后 promise,当所有 promise 全部切换为 fulfilled 或 rejected 状态时,该 promise 换为 fulfilled 状态; Promise.any...返回一个组合后 promise,当 promise 中有任意一个切换为 fulfilled 状态时,该 promise 立即切换为 fulfilled 状态,但只有所有 promise 全部切换为

55020

京东前端一面面试题

在 js 中提供了两个函数来实现 js 数据结构和 JSON 格式转换处理,JSON.stringify 函数,通过传入一个符合 JSON 格式数据结构,将其转换为一个 JSON 字符串。...JSON.parse() 函数,这个函数用来 JSON 格式字符串转换为一个 js 数据结构,如果传入字符串不是标准 JSON 格式字符串的话,将会抛出错误。...首先要介绍ToPrimitive方法,这是 JavaScript 中每个值隐含自带方法,用来值 (无论是基本类型值还是对象)转换为基本类型值。...如果值基本类型,则直接返回值本身;如果值对象,其看起来大概是这样:/*** @obj 需要转换对象* @type 期望结果类型*/ToPrimitive(obj,type)typenumber...Vue将它转换为响应式(这也就造成了Vue无法检测到对象属性添加或删除)所以Vue提供了Vue.set (object, propertyName, value) / vm.

98440

美团前端二面必会面试题(附答案)

JS 隐式转换,显示转换一般非基础类型进行转换时会先调用 valueOf,如果 valueOf 无法返回基本类型值,就会调用 toString字符串和数字"+" 操作符,如果有一个字符串,那么都转化到字符串然后执行字符串拼接..."-" 操作符,转换为数字,相减 (-a, a * 1 a/1) 都能进行隐式强制类型转换[] + {} 和 {} + []布尔值到数字1 + true = 21 + false = 1换为布尔值for...中第二个whileif三元表达式|| (逻辑或) && (逻辑与)左边操作数符号不能被转换为数字能被转换为布尔值(都是 true)可以被转换成字符串 "Symbol(cool)"宽松相等和严格相等宽松相等允许进行强制类型转换...中有一个fulfilled,就返回第一个fulfilledPromise实例返回值。...true判断两者类型是否 string 和 number,是的话就会将字符串转换为 number1 == '1' ↓1 == 1判断其中一方是否 boolean,是的话就会把 boolean

45910

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券