This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

์™ผ์ชฝ ์‹œํ”„ํŠธ (<<)

Baseline Widely available

This feature is well established and works across many devices and browser versions. Itโ€™s been available across browsers since โจ2015๋…„ 7์›”โฉ.

์™ผ์ชฝ ์‹œํ”„ํŠธ (<<) ์—ฐ์‚ฐ์ž๋Š” ์ฒซ ๋ฒˆ์งธ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋ช…์‹œ๋œ ๋น„ํŠธ ์ˆ˜(32์˜ ๋‚˜๋จธ์ง€)๋งŒํผ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์™ผ์ชฝ์œผ๋กœ ์ด๋™๋œ ์ดˆ๊ณผ ๋น„ํŠธ๋Š” ํ๊ธฐ๋ฉ๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ์€ ์›€์ง์ธ ๋น„ํŠธ ์ˆ˜ ๋งŒํผ 0๋น„ํŠธ๋กœ ์ฑ„์›Œ์ง‘๋‹ˆ๋‹ค.

์‹œ๋„ํ•ด ๋ณด๊ธฐ

const a = 5; // 00000000000000000000000000000101
const b = 2; // 00000000000000000000000000000010

console.log(a << b); // 00000000000000000000000000010100
// Expected output: 20

๊ตฌ๋ฌธ

js
a << b

์„ค๋ช…

์ด ์—ฐ์‚ฐ์ž๋Š” ์ฒซ ๋ฒˆ์งธ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋ช…์‹œํ•œ ๋น„ํŠธ ์ˆ˜๋งŒํผ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์™ผ์ชฝ์œผ๋กœ ์ด๋™๋œ ์ดˆ๊ณผ ๋น„ํŠธ๋Š” ํ๊ธฐ๋ฉ๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ์€ ์›€์ง์ธ ๋น„ํŠธ ์ˆ˜ ๋งŒํผ 0 ๋น„ํŠธ๋กœ ์ฑ„์›Œ์ง‘๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, 9 << 2์€ 36์ด ๋„์ถœ๋ฉ๋‹ˆ๋‹ค.

     9 (10์ง„์ˆ˜): 00000000000000000000000000001001 (2์ง„์ˆ˜)
                  --------------------------------
9 << 2 (10์ง„์ˆ˜): 00000000000000000000000000100100 (2์ง„์ˆ˜) = 36 (10์ง„์ˆ˜)

์ž„์˜์˜ ์ˆซ์ž x๋ฅผ ์™ผ์ชฝ์œผ๋กœ y๋น„ํŠธ ๋‹จ์œ„๋กœ ์ด๋™ํ•˜๋ฉด x * 2 ** y์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์˜ˆ๋ฅผ ๋“ค์–ด 9 << 3์€ 9 * (2 ** 3) = 9 * (8) = 72์œผ๋กœ ํ•ด์„๋ฉ๋‹ˆ๋‹ค.

์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋Š” 32๋น„ํŠธ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ถ€๋™ ์†Œ์ˆ˜์  ์ˆซ์ž๋Š” ์ž˜๋ฆฌ๊ณ  32๋น„ํŠธ ๊ฒฝ๊ณ„ ๋‚ด์— ์žˆ์ง€ ์•Š์€ ์ˆซ์ž๋Š” ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ/์–ธ๋”ํ”Œ๋กœ์šฐ๋ฉ๋‹ˆ๋‹ค.

์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋Š” ๋ถ€ํ˜ธ ์—†๋Š” 32๋น„ํŠธ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜๋œ ๋‹ค์Œ 32 ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋ฏ€๋กœ ์‹ค์ œ ์‹œํ”„ํŠธ ์˜คํ”„์…‹์€ ํ•ญ์ƒ 0์—์„œ 31 ์‚ฌ์ด์˜ ์–‘์˜ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 100 << 32๋Š” 100 << 0๊ณผ ๋™์ผ(์ด ๊ฒฐ๊ณผ๊ฐ’์€ 100์ž…๋‹ˆ๋‹ค)ํ•ฉ๋‹ˆ๋‹ค. 32 ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์€ 0์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์˜ˆ์ œ

์™ผ์ชฝ ์‹œํ”„ํŠธ ์‚ฌ์šฉํ•˜๊ธฐ

js
9 << 3; // 72
// 9 * (2 ** 3) = 9 * (8) = 72

๋ช…์„ธ์„œ

Specification
ECMAScriptยฎ 2026 Language Specification
# sec-left-shift-operator

๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ

๊ฐ™์ด ๋ณด๊ธฐ