рдЬреЗрдл рдореЙрд░рд┐рд╕рди рдХрд╛ рдЪрд░рдг 0 рд╡рд░реНрдЧ рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рд╛рд░рдВрднрдХрд░реНрддрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрдХреНрд╖рд╛рдУрдВ рдкрд░ рд╕рдВрдкрддреНрддрд┐ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╢реВрдиреНрдп рдХреЛ рднрд░рддрд╛ рд╣реИред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп:
class Person {
firstName = 'John'; // jshint error 'Unexpected token ='
static lastName = 'Doe';
}
console.log(new Person().firstName); // "John"
console.log(Person.lastName); // "Doe"
рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛? рдпрд╛ рд╢рд╛рдпрдж рдореБрдЭреЗ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ? рдзрдиреНрдпрд╡рд╛рдж!
JSHint рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдЪрд░рдг 0 рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдирд╛ рдирд╛рд╕рдордЭреА рд╣реЛрдЧреАред
рдЖрдк ignoreDelimiter
рд╕рд╛рде рдЧреИрд░-рдорд╛рдирдХ рднрд╛рдЧреЛрдВ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдХреЗ рддреНрд░реБрдЯрд┐ рдХреЛ рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВ:
class Person {
//start-non-standard
firstName = 'John';
static lastName = 'Doe';
//end-non-standard
}
.jshintrc
...
ignoreDelimiters: [
{ start: "start-non-standard", end: "end-non-standard" },
],
esnext: true
...
@rwaldron рдзрдиреНрдпрд╡рд╛рдж!
@voronianski рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!
рдпрд╣ рдЕрднреА рдЪрд░рдг 1 рддрдХ рд╣реИ: https://github.com/jeffmo/es-class-static-properties-and-fields
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдмрд╣реБрдд рджреВрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╣рд░ рд╡рд░реНрдЧ рдореЗрдВ рд╕реНрдЯрд╛рд░реНрдЯ-рдЧреИрд░-рдорд╛рдирдХреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдЦрд░рд╛рдм рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛!
@hackel рдЬрдм рд╕реЗ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╣рдордиреЗ рдирдИ рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рджрд┐рдпрд╛ рд╣реИ:
http://jshint.com/blog/new-lang-features/
"рд╡рд░реНрдЧ рдЧреБрдг" рдкреНрд░рд╕реНрддрд╛рд╡ рдЪрд░рдг 2 рдкрд░ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ рдкреИрдЪ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА!
рдмрд╕ рдПрдХ рдЕрдкрдбреЗрдЯ, рдпрд╣ рдЕрднреА рд╕реНрдЯреЗрдЬ 2 рдкрд░ рд╣реИ: https://github.com/tc39/proposalsред рд╢рд╛рдпрдж рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИ?
рдЕрдм рдЬрдмрдХрд┐ рдпрд╣ рдкреНрд░рд╕реНрддрд╛рд╡ рдЪрд░рдг 2 рдкрд░ рдкрд╣реБрдВрдЪ рдЧрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ JSHint рдХреЗ рднреАрддрд░ рд╕рдорд░реНрдерди рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╕реНрдпрд╛ рдмрдирд╛рдИ рд╣реИред рджреЗрдЦреЗрдВ gh-рейрезрейреп.
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдмрд╕ рдПрдХ рдЕрдкрдбреЗрдЯ, рдпрд╣ рдЕрднреА рд╕реНрдЯреЗрдЬ 2 рдкрд░ рд╣реИ: https://github.com/tc39/proposalsред рд╢рд╛рдпрдж рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИ?