==
๋ฅผ ์ฌ์ฉํ์ฌ 0๊ณผ ๋น๊ตํ๋ ๊ฒ์ ์ซ์๋ก ๋ณด์ฅ๋๋ ๊ฐ์ ๋น๊ตํ ๋ ์ค๋ฅ๋ ์ํํ์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด:
var arr = ["foo"];
var arrIsEmpty = (arr.length == 0);
๋๋ ์ด๋ฌํ ์ํฉ์์ ==
๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝํฅ์ด ์์ผ๋ฉฐ ์ด๋ ์์ ํ ๋ฌธ์ฒด์ ์ธ ๊ฒฐ์ ์
๋๋ค. ๋๋ JSHint๊ฐ ๋ด ์ ๋ณด์ ์
๊ฐํ ๋ฐ๋จ์ ์กด์คํด ์ฃผ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
eqeqeq
์ต์
์๊ณ ๊ณ์์ฃ ? ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ณณ์
๋๋ค. false๋ก ์ค์ ํ๋ฉด ์ด ๊ฒฝ์ฐ์์ ๋ฒ์ด๋ ์ ์์ต๋๋ค. ์๋๋ฉด 0
๋ํ ๋น๊ต๋ง ์ต์ ํ๋ ๊ฒ๊ณผ ๊ฐ์ด ๋ ๊ตฌ์ฒด์ ์ธ ๊ฒ์ ์ฐพ๊ณ ์์ต๋๊น(๋ค๋ฅธ ๊ฐ๊ณผ์ ๋น๊ต๋ ์ ์ธ)?
eqeqeq๋ ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ์ ๋๋ค. eqeqeq๊ฐ false์ธ ๊ฒฝ์ฐ์๋ ๋ถํํ๋ 0๊ณผ ๋น๊ตํ๋ ๋ณ๋์ ๊ฒ์ฌ๊ฐ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ด๊ฐ ์ ๋ง๋ก ์ํ๋ ๊ฒ์ == ๋ฐ != ์ฌ์ฉ์ ๋ํ JSHint์ ๋ชจ๋ ํํ์ ๋ถ๋ง์ ์ต์ ํ ์ ์๋ ๊ฒ์ด์ง๋ง ์ด๋ฅผ ๋ฐฉ์งํ๋ ๊ฒ์ 0๊ณผ์ ๋น๊ต์ ๋๋ค.
ํ ์๊ฒ ์ต๋๋ค. ๊ด๋ จ ์ฝ๋๊ฐ ์ฌ๊ธฐ์ ์์ต๋๋ค. ํ์คํ ๊ทธ ๋น๊ต๋ฅผ (๋ค๋ฅธ ๊ฒ๋ค ์ค์์) ๊ตฌ์ฒด์ ์ผ๋ก ํธ์ถํ๊ณ ์์ต๋๋ค.
https://github.com/jshint/jshint/blob/6140ade7437799e182347bf2d39ec68c3c3d0263/src/jshint.js#L2201 -L2215
https://github.com/jshint/jshint/blob/6140ade7437799e182347bf2d39ec68c3c3d0263/src/jshint.js#L1338 -L1346
์ฝ๋๋ก ์ด ๊ฒฝ๊ณ ๋ฅผ ๋นํ์ฑํํ ์ ์์ต๋๋ค.
valueof์ ๋ต๋ณ์ ์ฌ์ฉํ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช์ ์ ์๋ ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ๋ "-W041": false
์ค์ ์ด ํธ๋ฆญ์ ์ํํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
@privman ๊ฐ์ฌ
์ฐธ๊ณ ๋ก ์ฌ๊ธฐ ์์ ์์ธํ ๋ด์ฉ์ ์ฐพ์
"eqeqeq": false
๋ W041
๊ฒฝ๊ณ ๋ฅผ ์ ํจํ๊ฒ ์ ์งํ๋ ค๋ ๋๊ธฐ๊ฐ ์์ต๋๊น?
์ํฅ์ ๋ฐ๋ ์ํฉ์์ ==
๋ฐ !=
์ฌ์ฉ์ ํจ๊ณผ์ ์ผ๋ก ๊ธ์งํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
valueof์ ๋ต๋ณ์ ์ฌ์ฉํ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช์ ์ ์๋ ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ๋
"-W041": false
์ค์ ์ด ํธ๋ฆญ์ ์ํํ๋ ๊ฒ ๊ฐ์ต๋๋ค.