H5W3
当前位置:H5W3 > 其他技术问题 > 正文

【前端问题精选】Symbol.split是什么?

let obj_2_4 = {
    [Symbol.split] : (obj:any) =>{
        console.log(obj.length) // => 4
    }
}

'abcd'.split(<any>obj_2_4)

JS中的String.split(separator,howmany)是这个样子的
那么像上面那样传个对象进去是什么意思?是代理String.split吗?

回答:

是的,楼主已经理解了, 传入的 obj 就是 str.split(obj) 传给 split 函数的参数


class Split1 {
  constructor(value) {
    this.value = value;
  }
  [Symbol.split](string) {
    const index = string.indexOf(this.value);
    return this.value + string.substr(0, index) + "/"
      + string.substr(index + this.value.length);
  }
}

console.log('foobar'.split(new Split1('foo')));
// expected output: "foo/bar"

贴一点资料 https://developer.mozilla.org…

本文地址:H5W3 » 【前端问题精选】Symbol.split是什么?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址