Jshint: "'0'๊ณผ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด '===' ์‚ฌ์šฉ" ์˜ค๋ฅ˜๋ฅผ ์–ต์ œํ•˜๋Š” ์˜ต์…˜ ์ถ”๊ฐ€

์— ๋งŒ๋“  2013๋…„ 11์›” 15์ผ  ยท  7์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: jshint/jshint

== ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 0๊ณผ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์€ ์ˆซ์ž๋กœ ๋ณด์žฅ๋˜๋Š” ๊ฐ’์„ ๋น„๊ตํ•  ๋•Œ ์˜ค๋ฅ˜๋‚˜ ์œ„ํ—˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด:

var arr = ["foo"];
var arrIsEmpty = (arr.length == 0);

๋‚˜๋Š” ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ == ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์œผ๋ฉฐ ์ด๋Š” ์ˆœ์ „ํžˆ ๋ฌธ์ฒด์ ์ธ ๊ฒฐ์ •์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” JSHint๊ฐ€ ๋‚ด ์ •๋ณด์— ์ž…๊ฐํ•œ ๋ฐ”๋žจ์„ ์กด์ค‘ํ•ด ์ฃผ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

valueof์˜ ๋‹ต๋ณ€์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฒช์„ ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” "-W041": false ์„ค์ •์ด ํŠธ๋ฆญ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  7 ๋Œ“๊ธ€

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 ๊ฒฝ๊ณ ๋ฅผ ์œ ํšจํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ ค๋Š” ๋™๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์˜ํ–ฅ์„ ๋ฐ›๋Š” ์ƒํ™ฉ์—์„œ == ๋ฐ != ์‚ฌ์šฉ์„ ํšจ๊ณผ์ ์œผ๋กœ ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰