Git Product home page Git Product logo

Comments (6)

valueof avatar valueof commented on June 23, 2024

I see it as an opt-in option but we will need to check against "" since that might break the code and really hard to catch.

from jshint.

hanleybrand avatar hanleybrand commented on June 23, 2024

I'm curious why EOL escaping would be bad practice - is it because some interpreters wouldn't actually escape the EOL?

Mozilla says it's kosher, as if that's the final word:
https://developer.mozilla.org/en/JavaScript/Guide/Values,_Variables,_and_Literals#Escaping_Characters

from jshint.

mrrena avatar mrrena commented on June 23, 2024

Yes, I wish JSHint at least had an option for escaping strings.

We use MooTools at work and benchmarks have shown that using string HTML is the fastest way to dynamically include multiple elements. For readability, we use escapement to break the HTML string into readable HTML syntax, but we can't check many of our files for other errors because the parser dies only partway through with hundreds of "bad escapement," "bad escapement," "bad escapement" warnings.

Here's a short example of what I mean--not pretty, but technically correct (warnings notwithstanding) and much faster when building large numbers of elements on the fly:

 var wrapperDiv = new Element('div', {
       'class': 'uQ_wrap',
       'html': '<div class="uQ_number">' + myCount + '</div>\
       <div class="uQ_question">' + question.yesNoQuestion + parentheticalInformation + '</div>\
       <div class="uQ_yesNo_wrap">\
           <input type="radio" name="yesNoAnswer' + index + '" value="yes" class="yesRadio" />\
           <input type="radio" name="yesNoAnswer' + index + '" value="no" class="noRadio" />\
           <div class="yesText">Yes</div>\
           <div class="noText">No</div>\
       </div>'
  });

from jshint.

WolfgangKluge avatar WolfgangKluge commented on June 23, 2024

Hi,

I've implemented this here https://github.com/WolfgangKluge/jshint/commits/escaped-string-eol and named the option multistr.
See pull request #269.

Currently it's allowed to write

var x = "hallo
world";

but not

var x = "hallo\
world";

I don't see a reason to allow the first one (or is it allowed anywhere?). Edit: see #146. So this change fixes this, too.
Now there are warnings

  • if there is no escape character ("Unclosed string")
  • if there is an escape character but multistr is not set ("Bad escapement of EOL. Use option multistr if needed")
  • if the parser is in jsonmode ("Avoid EOL escapement.")

from jshint.

mrrena avatar mrrena commented on June 23, 2024

A bit late in the game, but a belated and hearty thanks to WolfgangKluge!

from jshint.

WolfgangKluge avatar WolfgangKluge commented on June 23, 2024

;)

from jshint.

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.