> jshint -v
jshint v2.9.1
λμμ ν μ€νΈνκΈ° μν νμΌ:
var a = function(x = 1, i) {}
jshint a.js
μ κ²°κ³Ό
a.js: line 1, col 26, Regular parameters should not come after default parameters.
1 error
.jshintrc
:
{
"asi": true,
"esversion": 6
}
μ΄ λ©μμ§λ μλ JSHint "μ€λ₯"λ‘ κ΅¬νλμμ΅λλ€(μ¦,
무μν μ μμ): gh-1779. μ΄κΈ°μ SyntaxErrorμμ μ μμ§λ§
μ΄μμ κ·Έλ° μμΌλ‘ λ§λ¬΄λ¦¬λμ§ μμμΌλ―λ‘ gh-2543μμ μ°λ¦¬λ "λ€μ΄κ·Έλ μ΄λ"νμ΅λλ€.
κ²½κ³ λ©μμ§. μ΄κ²μ λ€μμ ν΅ν΄ JSHint 2.9.1μμ 무μν μ μμμ μλ―Έν©λλ€.
-W138
.
κ·Έλ¬λ μ΄ κ²½κ³ κ° μ μ νμ§ μ¬λΆλ μ¬μ ν λΆλΆλͺ
ν©λλ€. NS
κ°μΈμ μΌλ‘ μ΄λ κ² μ€κ³λ κΈ°λ₯μ μ¬μ©νκΈ° μ΄λ ΅λ€κ³ μκ°νμ§λ§,
μ μ¬μ μΈ μ½λ μμ λ¬Έμ λ₯Ό μλ³ν μ μμ΅λλ€.
@rwaldron @caitp λ λ€ μ΄κ²μ λν΄ μκ°μ΄ μμ΅λκΉ?
κ·Έλ° μ’ λ₯μ μλͺ μ redux μ½λ μνμ μΌλΆλΌλ κ²μ μΈκΈνκ³ μΆμ΅λλ€. λ€μ λΌμΈμ μ°ΎμΌμμμ€.
function counter(state = 0, action) {
κ·Έλμ λ리 μ¬μ©λλ IMHOμ λλ€.
μ΄λ¬ν μ’ λ₯μ ν¨ν΄μ _μ λμ μΌλ‘_ "보ν"μ μ μμ λλ€.
κ·Έλμ λ리 μ¬μ©λλ IMHOμ λλ€.
λλ reduxμ λνλλ ν¨ν΄μ΄ "λ리 μ¬μ©λλ" 무μΈκ°λ₯Ό λνλΈλ€λ μμμ κ°λ ₯νκ² λμνμ§ μμ΅λλ€. λλ reduxλ₯Ό μ΄ν΄λ³΄κ³ counter(undefined, action)
μλ₯Ό μ°Ύμκ³ , μ΄ μ€ νλκ° μ€μ λ‘ action
μΈμλ₯Ό _νμλ‘ _νκ±°λ λ°νμμ μ§λ©΄νλ€λ μ μ κ³ λ €ν λ μ΄κ²μ΄ 무μμΌ μ μλμ§ κΆκΈν©λλ€. μ€λ₯. action
κ° _νμ_ νμμ΄κ³ state
κ° μ ν μ¬νμΈ κ²½μ° undefined
λͺ
μμ μΌλ‘ μ λ¬ν΄μΌ νλ require νΈμΆμ κΈ°λ³Έ 맀κ°λ³μ κ°μ λͺ©μ μ 무ν¨νν©λλ€ .
...λ²κ·Έλ₯Ό μ κ³ νκ³ μΆμ΅λλ€.
κ·Έλ¬λ μ΄ κ²½κ³ κ° μ μ νμ§ μ¬λΆλ μ¬μ ν λΆλΆλͺ ν©λλ€.
λλ κ·Έκ²μ΄ μλ€κ³ λ―ΏμΌλ©° κ²½κ³ λ₯Ό μνμ§ μλ μ¬λμ κ·Έκ²μ λ μ μμ΅λλ€.
μ΄ @jugglinmike λ₯Ό λ«μΌ
@rwaldron ok, μ€μ λ‘ μ°λ¦¬λ reduxμ λν΄ λ
Όμνμ§ μμ΅λλ€. κ·Έλ¬ν μλͺ
κ³Ό ν¨κ» λνλ μ μλ μ€λ₯ μνμ μ 곡ν μ μμ΅λκΉ?
λμκ² κ·Έκ²μ λ¨μ§ μΈμ΄μ μμ±μ
λλ€. κ·Έλ λ€λ©΄ "μλͺ»"μΌλ‘ νμνλ μ΄μ λ 무μμ
λκΉ?
κ·Έλ¬ν μλͺ κ³Ό ν¨κ» λνλ μ μλ μ€λ₯ μνμ μ 곡ν μ μμ΅λκΉ?
λ°μνκ² λ μ μΌν λ°νμ μ€λ₯λ counter()
λ° counter(undefined)
μ κ°μ΄ νΈμΆνλ κ²μ
λλ€. νμ§λ§ κ·Έκ²μ μ μμ μ΄ μλλλ€. λ΄ μμ μ κ·Έκ²μ΄ λμ°ν λμμΈμ΄κ³ νλ‘κ·Έλλ¨Έμ κ·Έλ€μ λꡬμ κ³Όλν λΆλ΄μ μ€λ€λ κ²μ
λλ€. μλ₯Ό λ€μ΄, μΆμκΈ°λ λ€μμ ν©λ¦¬μ μΌλ‘ λΆμν μ μμ΅λλ€.
function counter(action, state = 0) {
return [action, state];
}
counter({});
counter({}, 0);
counter({}, undefined);
κ·Έλ¦¬κ³ μμ°:
function c(a,s=0){return[a,s]}
c({});
c({});
c({});
λ°λ©΄μ κΈ°λ³Έκ°μ λ¨Όμ λμμμ€.
function counter(state = 0, action) {
return [state, action];
}
counter(0, {});
counter(undefined, {});
λ€μμ μμ±ν κ²μ λλ€:
function c(s=0,a){return[s,a]}
c(0, {});
c(undefined, {});
μ΄κ²μ μλΉν μΈμμ μΈ μμ΄μ§λ§ μ¬μ ν κΈ°λ³Έ 맀κ°λ³μλ₯Ό μ¬μ©νλ κ²μ΄ μμ ν 무μλ―Ένλ€λ μ μμ μ 보μ¬μ€λλ€.
λμκ² κ·Έκ²μ λ¨μ§ μΈμ΄μ μμ±μ λλ€.
ν μ μλ€κ³ ν΄μ λ°λμ ν΄μΌ νλ κ²μ μλλλ€.
κ·Έλμ νμ¬λ‘μλ μΆμκΈ°μ λ²κ·Έμ λν΄ κ±±μ νλ κ² μΈμλ μ λμ λμμΈμΈμ§ μ€λͺ ν μ μμ΅λλ€.
μλͺ» μ€κ³λ νΈμΆ μλͺ
μ νΌνκΈ° μν΄ λͺ¨λ νΈμΆ μ¬μ΄νΈμμ λͺ
μμ μΈ undefined
λ₯Ό μ λ¬νλλ‘ μꡬνλ κ²μ μλͺ»λ κ΄νμ΄μ κΈ°λ³Έ 맀κ°λ³μμ μλͺ»λ μ¬μ©μΌλ‘ κ°μ£Όλ©λλ€.
μ΄ λμμ React/Reduxμμ κΆμ₯ν©λλ€. React/Reduxλ₯Ό μ κ±°νλ κ²λ³΄λ€ jshinμ μ κ±°ν κ°λ₯μ±μ΄ λ ν½λλ€./
http://redux.js.org/docs/basics/Reducers.html
ν κ°μ§ κΉλν νΈλ¦μ ES6 κΈ°λ³Έ μΈμ ꡬ문μ μ¬μ©νμ¬ λ κ°κ²°ν λ°©μμΌλ‘ μμ±νλ κ²μ λλ€.
κΈ°λ₯ todoApp(μν = μ΄κΈ° μν, μμ
) {
// μ§κΈμ μ΄λ€ μμ
λ μ²λ¦¬νμ§ μμ΅λλ€.
// κ·Έλ¦¬κ³ μ°λ¦¬μκ² μ£Όμ΄μ§ μνλ₯Ό λ°νν©λλ€.
λ°ν μν
}
@jugglinmike wdyt ^^ ?
@txm νλ²λ μ¬μ©νμ§ μμ action
맀κ°λ³μλ μ΄λ»κ² λλμ?
λλ μ¬μ ν κ°μμ μΈ μνμ΄ μλ ν(μ¬μ§μ΄
κ·Έλ μ§ μμΌλ©΄ λ°λμ§νμ§ μμ ν¨ν΄μ μ‘΄μ¬), JSHintλ 침묡μ μ μ§ν΄μΌ ν©λλ€.
μ¦, @txm μ μμ κ° μ΄λ»κ² ꡬλ³λλμ§ μ΄ν΄νλ λ° λ¬Έμ κ° μμ΅λλ€.
μ΄λ»κ² λΉνμ±ν ν μ μμ΅λκΉ?
@thalesfsp : /* jshint -W138 */
μΆκ° νμΌμ μμ λΆλΆμ μΆκ°ν©λλ€. (jshint v2.9.1 μ΄μμ μ¬μ©νκ³ μλμ§ νμΈνμμμ€)
Reduxμ λμΌν λ¬Έμ κ° λ°μνμ΅λλ€. .jshintrc κ΅¬μ± νμΌμμ λΉνμ±νν μ μμ΅λκΉ?
@derwaldgeist λ¬Όλ‘ μ
λλ€! λ€μμ κ²½κ³ λ₯Ό 무μνλ .jshintrc
νμΌμ μμ
λλ€.
{
"esversion": 6,
"-W138": true
}
(κ·Έλ°λ° JSHintμ λ¬Έμ μλ νΉμ κ²½κ³ λΉνμ±νμ λν μμΈν μ λ³΄κ° μμ΅λλ€.)
@jugglinmike κ°μ¬ν©λλ€. .jshintrc νμΌμμλ "-Wxxx" ꡬ문μ μ¬μ©ν μ μλμ§ λͺ°λμ΅λλ€. λλ νμ μ΄κ²μ νμΌμ 맨 μμ μ¬μ©νμ΅λλ€. μμλλ©΄ μ’μμ!
'μ½λ°±'μ΄ ν¨μμ λ§μ§λ§ 맀κ°λ³μλ‘ λ리 μ¬μ©λκΈ° λλ¬Έμ μ΄ λ³΄νΈλΌκΈ° κ²½κ³ λ λμκ² λ€μ μ΄λ¦¬μμ κ²μ²λΌ 보μ λλ€.
openDialog(URL, μ΄λ¦, μΈμ = {}, μμΉ) {
return new Promise(function(resolve, reject) {
chrome.windows.create({
URL: URL,
μ ν: "νμ
",
λλΉ: pos && pos.width || μ°ΎμΌμλ μ£Όμκ° μμ΅λλ€,
λμ΄: pos && pos.height || μ°ΎμΌμλ μ£Όμκ° μμ΅λλ€,
μΌμͺ½: pos && pos.left || μ°ΎμΌμλ μ£Όμκ° μμ΅λλ€,
μλ¨: pos && pos.top || μ°ΎμΌμλ μ£Όμκ° μμ΅λλ€
}, ν¨μ(w) {
λΆλͺ
ν λ€λ₯Έ 맀κ°λ³μλ₯Ό undefined
κ²μ΄ μ ν¨νλ©° λ¦°νΈ νλ‘μΈμ€λ₯Ό ν΅κ³Όν©λλ€. λλ κ·Έκ²μ΄ λ λμ ν¨ν΄μ΄λΌκ³ λ§νμ§λ μμ§λ§ 보ν κ³Όμ μ ν΅κ³Όν©λλ€.
κ°μ₯ μ μ©ν λκΈ
@derwaldgeist λ¬Όλ‘ μ λλ€! λ€μμ κ²½κ³ λ₯Ό 무μνλ
.jshintrc
νμΌμ μμ λλ€.