String.prototype.trimRight/trimLeft
Michał Wadas
michalwadas at gmail.com
Wed Jul 29 15:12:09 UTC 2015
I can't remember last time when I would need `isNullOrEmpty` -
Boolean('') and Boolean(null) evaluates to false. And `if (str)`
handles any case with consistent types.
String.isNullOrEmpty = (a)=>(typeof a === 'string' || a === null) && !a;
Anyway - native isNullOrWhiteSpace would be probably be useful only to
reduce GC pressure, because it's easily polyfilled.
String.isNullOrWhiteSpace = (a)=>a === null ? true : typeof a ===
'string' && !a.trim();
2015-07-29 13:27 GMT+02:00 Behrang Saeedzadeh <behrangsa at gmail.com>:
> Another set of very handy functions that in Java are provided by libraries
> such as Guava or Apache Commons and in C# are built in, are
> `String.isNullOrEmpty(aStr)` and `String.IsNullOrWhiteSpace(aStr)`.
>
> Would be nice if they ES Strings had them too.
>
> On Tue, Jul 28, 2015 at 10:15 AM John-David Dalton
> <john.david.dalton at gmail.com> wrote:
>>
>> In the wild I've seen ltrim rtrim which are variations of trimLeft and
>> trimRight and padLeft padRight or lpad, rpad for other forms. For stings I
>> think of left and right as leading and trailing and think of start and end
>> as more position indicators of like slice or a range.
>>
>>
>> -JDD
>>
>> On Mon, Jul 27, 2015 at 4:55 PM, Dmitry Soshnikov
>> <dmitry.soshnikov at gmail.com> wrote:
>>>
>>> OK, it was added to the agenda for the next meeting (will be presented by
>>> Sebastian Markbage), so can be discussed in detail. I agree that "start",
>>> and "end" are now probably better fit (because of i18n, and a strong
>>> correlation with "startsWith" and "endsWith"). We can probably ignore the
>>> de-facto shipped in browsers, they will just implement in addition
>>> `trimStart` and `trimEnd`, and eventually deprecate the "right" and "left".
>>>
>>> Dmitry
>>>
>>> On Tue, Jul 21, 2015 at 12:02 AM, Claude Pache <claude.pache at gmail.com>
>>> wrote:
>>>>
>>>>
>>>> > Le 21 juil. 2015 à 08:28, Jordan Harband <ljharb at gmail.com> a écrit :
>>>> >
>>>> > On the contrary -"left" always begins at index 0 - "start" is
>>>> > sometimes index 0, sometimes index (length - 1).
>>>>
>>>> Counter-example: ES6 methods `String#startsWith` and `String#endsWith`
>>>> are named correctly.
>>>>
>>>> > I think "left" and "right" are the right names; "start" and "end"
>>>> > would require unicode bidirectional stuff.
>>>>
>>>> No, because characters in Unicode strings are ordered logically, not
>>>> visually.
>>>>
>>>> —Claude
>>>>
>>>> _______________________________________________
>>>> es-discuss mailing list
>>>> es-discuss at mozilla.org
>>>> https://mail.mozilla.org/listinfo/es-discuss
>>>
>>>
>>>
>>> _______________________________________________
>>> es-discuss mailing list
>>> es-discuss at mozilla.org
>>> https://mail.mozilla.org/listinfo/es-discuss
>>>
>>
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>
> --
> Best regards,
> Behrang Saeedzadeh
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
More information about the es-discuss
mailing list