Moment: `isBefore` ๋ฉ”์†Œ๋“œ๋Š” ๋น„ ๊ฒฐ์ •์ ์ž…๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 04์›” 06์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: moment/moment

ํŠน์ • ๋‚ ์งœ ๋ฒ”์œ„๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ด์•ผํ•˜๋Š” ๋‹ฌ๋ ฅ์—์„œ ์ž‘์—…ํ•˜๋Š” ๋™์•ˆ ์ด๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” ํ•˜๋‚˜์”ฉ ๋–จ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

์žฌํ˜„ํ•˜๋ ค๋ฉด :

  1. ํฌ๋กฌ ๊ฐœ๋ฐœ ๋„๊ตฌ๋ฅผ ์—ด๊ณ  moment().isBefore(moment())
    ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰ํ•˜๋ฉด ํ•ญ์ƒ false ์ด์–ด์•ผํ•˜์ง€๋งŒ ๋•Œ๋กœ๋Š” true ๋ฉ๋‹ˆ๋‹ค. isAfter ๋ฉ”์„œ๋“œ์—์„œ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์Šคํฌ๋ฆฐ ์ƒท์ž…๋‹ˆ๋‹ค.

image

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

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 ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ์ˆœ๊ฐ„์ด ๊ฐ™์€ ๋ฐ€๋ฆฌ ์ดˆ ์•ˆ์— ์ƒ์„ฑ๋˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์ง€๋งŒ ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ๋Š” ๋ณผ๊ฒŒ ์—†๋‹ค.

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