/**
* The base implementation of `_.slice` without an iteratee call guard.
*
* @private
* @param {Array} array The array to slice.
* @param {number} [start=0] The start position.
* @param {number} [end=array.length] The end position.
* @returns {Array} Returns the slice of `array`.
*/
function baseSlice(array, start, end) {
var index = -1,
length = array.length;
if (start < 0) {
start = -start > length ? 0 : (length + start);
}
end = end > length ? length : end;
if (end < 0) {
end += length;
}
length = start > end ? 0 : ((end - start) >>> 0); // ???
start >>>= 0; // ???
var result = Array(length);
while (++index < length) {
result[index] = array[index + start];
}
return result;
}
export default baseSlice;
移动0位不还是本身么?
自问自答,刚刚查到了
无符号位运算符,能够将非数字转为0,负数转为正数
说白了就是确保这个变量是一个有意义的数字。