ํน์ ๋ ์ง ๋ฒ์๋ฅผ ๋นํ์ฑํํด์ผํ๋ ๋ฌ๋ ฅ์์ ์์ ํ๋ ๋์ ์ด๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๋๋ก๋ ํ๋์ฉ ๋จ์ด์ ธ ์์ต๋๋ค.
์ฌํํ๋ ค๋ฉด :
moment().isBefore(moment())
false
์ด์ด์ผํ์ง๋ง ๋๋ก๋ true
๋ฉ๋๋ค. isAfter
๋ฉ์๋์์๋ ๋ฐ์ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์๋๋ ์คํฌ๋ฆฐ ์ท์
๋๋ค.isBefore๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ์ด๋ป๊ฒ ๋ ๋ moment () ๊ฐ์ฒด๊ฐ ๋๋๋ก ๋ ๋น ๋ฅธ ๋ ์ง๋ฅผ ๊ฐ์ง ๋ ๋ฒ์งธ ๊ฐ์ฒด๋ก ์์ฑ๋ฉ๋๋ค. ๋ค์์ ์๋ก ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ์ํ์
๋๋ค.
https://github.com/moment/moment/blob/develop/src/lib/moment/compare.js#L26
ํ์ธํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์๊ฐ์ด ์์ฑ๋๋ ์ ํํ ๋ฐ๋ฆฌ ์ด์ ๋ฌ๋ ค ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ ๋ฒ์งธ๊ฐ ์ฒซ ๋ฒ์งธ ์ดํ์ ๋ง๋ค์ด ์ก๋ค๋ ์ฌ์ค์ ๋ธ๋ผ์ฐ์ ๋ฒ๊ทธ์ฒ๋ผ ๋๊ปด์ง๋๋ค.
์ด ์ฃผ์ ์ ๋ํ ๋ ๊ด๋ฒ์ํ ๋ํ๊ฐ ์ฌ๊ธฐ์ ์์ต๋๋ค : https://github.com/moment/moment/issues/2697
๋ ๋ฒ์งธ๊ฐ ์ฒซ ๋ฒ์งธ ์ดํ์ ๋ง๋ค์ด ์ก๋ค๋ ์ฌ์ค์ ๋ธ๋ผ์ฐ์ ๋ฒ๊ทธ์ฒ๋ผ ๋๊ปด์ง๋๋ค.
๋์๊ฒ ๊ด์ฐฎ์ ๋ณด์ธ๋ค.
moment().isBefore(moment())
๋น๊ต :
somethingThrowingAnError().method(somethingWithSideEffects())
๋๋:
somethingReturningNull().method(somethingWithSideEffects())
์ค๋ฅ๊ฐ ๋ฐ์ํ๊ฑฐ๋ ๋ฉ์๋๋ฅผ ํธ์ถ ํ ์ ์์ ๋ somethingWithSideEffects()
ํธ์ถ์ ๊ธฐ๋ํ๊ฑฐ๋ ์ํ์ง ์์ต๋๋ค.
ํ ๋ง : first
_must_ second
์ ์ ํธ์ถํด์ผํฉ๋๋ค.
first().method(second())
@ispacowanguitar ์ด๋ค ๊ฒฝ์ฐ์๋ ์๊ฐ์ด ๊ฐ์ ๋ฐ๋ฆฌ ์ด ์์ ์์ฑ๋๋ ๊ฒฝ์ฐ๋ ์์ง๋ง ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ๋ ์์ต๋๋ค. ์ฌ๊ธฐ๋ ๋ณผ๊ฒ ์๋ค.