获得徽章 0
赞了这篇文章
赞了这篇文章
赞了这篇文章
赞了这篇沸点
#沸你不可#
【我们都是知识分享官 1.18】
队名:佛系躺平组
队员:@努力的IT小胖子、@松花酿酒⁰
在以前想要为一个对象添加私有属性,我们仅仅只有以下划线开头表示这是一个所有属性或者方法(一种不成文的约定)_password,但这仅仅是约定,并不能现在对属性的访问。
如今es6的诞生让我们有了其他实现方式,
1:通过Symbol唯一不重复的特性来实现,但是这要求外部无法访问到这个Symbol对象,所以需要依赖作用域
2:推荐,在方法或者变量前加上#号,这种方式不但现在了外部的访问,还支持extends语句的继承,需要注意的是这必须在class中使用,且要明确定义class中包含该属性。
class User {
#password;// 如果不在这定义,下面会报错
constructor (username, password) {
this.username = username;
this.#password = password
}
}
let yuexi = new User('yuexi','123')
yuexi.password // undefined
yuexi['#password'] // undefined
yuexi.#password // SyntaxError: Private field '#password' must be declared in an enclosing class
【我们都是知识分享官 1.18】
队名:佛系躺平组
队员:@努力的IT小胖子、@松花酿酒⁰
在以前想要为一个对象添加私有属性,我们仅仅只有以下划线开头表示这是一个所有属性或者方法(一种不成文的约定)_password,但这仅仅是约定,并不能现在对属性的访问。
如今es6的诞生让我们有了其他实现方式,
1:通过Symbol唯一不重复的特性来实现,但是这要求外部无法访问到这个Symbol对象,所以需要依赖作用域
2:推荐,在方法或者变量前加上#号,这种方式不但现在了外部的访问,还支持extends语句的继承,需要注意的是这必须在class中使用,且要明确定义class中包含该属性。
class User {
#password;// 如果不在这定义,下面会报错
constructor (username, password) {
this.username = username;
this.#password = password
}
}
let yuexi = new User('yuexi','123')
yuexi.password // undefined
yuexi['#password'] // undefined
yuexi.#password // SyntaxError: Private field '#password' must be declared in an enclosing class
展开
评论
3
赞了这篇沸点
#沸你不可#
@MisterBlank、@WangScaler
js中判断数组中是否包含某元素的方法:
方法一:array.indexOf(item,start):元素在数组中的位置,如果没与搜索到则返回 -1。
方法二:array.find() 数组实例的find()用于找出第一个符合条件的数组元素。它的参数是一个回调函数,所有数组元素依次遍历该回调函数,直到找出第一个返回值为true的元素,然后返回该元素,否则返回undefined。
方法三:array.findIndex()
array.findIndex()和array.find()十分类似,返回第一个符合条件的数组元素的位置,如果所有元素都不符合条件,则返回-1。
方法四:include()方法:
arr.includes(searchElement)方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。searchElement:必须。需要查找的元素值。
arr.includes(searchElement, fromIndex).fromIndex:可选。从该索引处开始查找 searchElement。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索。默认为 0。
方法五:Array some() 方法,类似于filter()
some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。
@MisterBlank、@WangScaler
js中判断数组中是否包含某元素的方法:
方法一:array.indexOf(item,start):元素在数组中的位置,如果没与搜索到则返回 -1。
方法二:array.find() 数组实例的find()用于找出第一个符合条件的数组元素。它的参数是一个回调函数,所有数组元素依次遍历该回调函数,直到找出第一个返回值为true的元素,然后返回该元素,否则返回undefined。
方法三:array.findIndex()
array.findIndex()和array.find()十分类似,返回第一个符合条件的数组元素的位置,如果所有元素都不符合条件,则返回-1。
方法四:include()方法:
arr.includes(searchElement)方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。searchElement:必须。需要查找的元素值。
arr.includes(searchElement, fromIndex).fromIndex:可选。从该索引处开始查找 searchElement。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索。默认为 0。
方法五:Array some() 方法,类似于filter()
some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。
展开
评论
1
赞了这篇沸点
赞了这篇文章
赞了这篇文章
![[思考]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_15.f58c082.png)
![[呲牙]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_2.cd1e2bd.png)