GithubHelp home page GithubHelp logo

Comments (8)

dfdeagle47 avatar dfdeagle47 commented on April 28, 2024 1

@Chalarangelo : ok makes sense now, I didn't know that part of the discussion.

from 30-seconds-of-code.

Chalarangelo avatar Chalarangelo commented on April 28, 2024

To convert to a boolean value. This was mentioned before and was actually PRed to fix the issue of the return value not always being boolean.

from 30-seconds-of-code.

kirilloid avatar kirilloid commented on April 28, 2024

But you don't need !!val && (or val &&) part at all! Just use Array.isArray

from 30-seconds-of-code.

Chalarangelo avatar Chalarangelo commented on April 28, 2024

You need it to check if the array is empty or something like that.

from 30-seconds-of-code.

kirilloid avatar kirilloid commented on April 28, 2024

No, it is not needed.
There are only six falsy (which result in false when converted to Boolean, e.g. with !!) values in JavaScript, all enumerated in my first comment.

from 30-seconds-of-code.

dfdeagle47 avatar dfdeagle47 commented on April 28, 2024

To add more context, the PR in question is #130 which fixes #111, i.e.

const isArray = val => val && Array.isArray(val);
// isArray(null) -> null (not false)

which was changed to

const isArray = val => !!val && Array.isArray(val);
// isArray(null) -> false

However, as @kirilloid just said, the first part of the expression is unneeded, it should read

const isArray = val => Array.isArray(val);

Unless I'm unaware of some implementation difference between different engines, Array.isArray() always returns a boolean value, and correctly works with the different falsy values.

from 30-seconds-of-code.

Chalarangelo avatar Chalarangelo commented on April 28, 2024

@dfdeagle47 there's actually some controversy regarding this particular snippet, as there is a slight chance we might remove it entirely iff we only need to check Array.isArray(), so until we figure that out it might be irrelevant making changes in case we delete it in the end.

from 30-seconds-of-code.

lock avatar lock commented on April 28, 2024

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for any follow-up tasks.

from 30-seconds-of-code.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.