ํฐ์คํ ๋ฆฌ ๋ทฐ
1.3 ํ์ดํ ํจ์์์์ arguments
๋๋์ด๋ฐ๐พ 2018. 12. 3. 15:05ํ์ดํ ํจ์์ ํน์ง ์ค ๋ง์ง๋ง์ ๋๋ค. ์ด์ ํฌ์คํ ์์๋ this๊ฐ ์กด์ฌํ์ง ์๋๋ค๋ ์ฃผ์ ์๋๋ฐ ๋ง์ง๋ง์ผ๋ก๋ arguments๊ฐ ์กด์ฌํ์ง ์๋๋ค๋ ์ฃผ์ ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก javascript ์์๋ arguments ๋ผ๋ ํค์๋๊ฐ ์กด์ฌํ๋๋ฐ์ ๊ฐ๋จํ ์ ์๋ก๋
arguments
๊ฐ์ฒด๋ ํจ์์ ์ ๋ฌ๋ ์ธ์์ ํด๋นํ๋ Array
ํํ์ ๊ฐ์ฒด์
๋๋ค.
1 2 3 4 5 6 7 8 9 10 11 | function func1() { console.log(arguments[0]); // expected output: 1 console.log(arguments[1]); // expected output: 2 console.log(arguments[2]); // expected output: 3 } func1(1, 2, 3); | cs |
(์ถ์ฒ : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/arguments)
์๋ณธ ์ฝ๋๋ func1 ํจ์์ ๋งค๊ฐ๋ณ์๊ฐ ์ ํด์ ธ์๋๋ฐ ์ผ๋ฐ function ํํ๋ก ์ฐ๋ฉด ๋น ๋งค๊ฐ๋ณ์ ํํ์ ํจ์๋ก ์์ฑํด์ฃผ์ด๋ ๋์ผํ๊ฒ ๋์๊ฐ๋๋ค. ๊ทธ๋ผ ์ด ๋์ผํ ์ฝ๋๋ฅผ ํ์ดํํจ์๋ก ๋ฐ๊ฟ์ ์์ฑ ํ ์คํ์ ์์ผ๋ณด๋ฉด
arrow.js
1 2 3 4 5 | const func1 = ()=>{ console.log(arguments[0]) } func1(1, 2, 3); | cs |
arguments ์ ์๋์ง ์์๋ค๋ ์ค๋ฅ๊ฐ ๋น๋๋ค. ๊ทธ๋์ es6 ๋ฌธ๋ฒ์์ ์๋กญ๊ฒ ๋ฑ์ฅํ ํค์๋๊ฐ ์์ต๋๋ค.
1 2 3 4 5 | const func1 = (...args)=>{ console.log(args[0]) } func1(1, 2, 3); | cs |
... ์ด๋ผ๋ ํค์๋๋ก ์ ์๋ ํจ์์ ์ ์ธ์ ๋งค๊ฐ๋ณ์ ๋ชฉ๋ก์ ๋ฐฐ์ด๋ก ๋ฐ๊ฒ ๋ค๋ ๋ป์ ๋๋ค.
(args ๋ผ๋ ํค์๋๊ฐ ์๋ ๊ฒ์ ์๋๊ณ ... ์ด๊ฒ๋ง ํด๋น๋ฉ๋๋ค.)
์๋ฅผ๋ค๋ฉด ์ด๋ฐ์์ผ๋ก๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๊ฒ ์ฃ ?
1 2 3 4 5 6 | const func1 = (...args)=>{ console.log(args) } func1(1, 2, 3); func1(5,6,7,8,9) | cs |
ํจ์ ํ๋๋ฅผ ์ ์ธ ํด๋ ๋งค๊ฐ๋ณ์๊ฐ ๋ค๋ฅธ ํจ์๋ก ํธ์ถ์ด ๊ฐ๋ฅํด์ง๋๋ค.
์ด๋ก์จ ํ์ดํํจ์์ ๋ํ ํฌ์คํ ์ ๋ง์น๋๋ก ํ๊ฒ ์ต๋๋ค.
'javascript > ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
2.2 class์ ๊ธฐ๋ณธ ์ ์ธ (0) | 2018.12.05 |
---|---|
2.1 classes ์ด์ prototype (0) | 2018.12.03 |
1.2 ํ์ดํํจ์์์์ this (2) | 2018.11.29 |
1.1 ํ์ดํํจ์์ ๊ธฐ๋ณธ ์ ์ธ (0) | 2018.11.28 |
ECMAScript 6 ํํ ๋ฆฌ์ผ ์๊ฐ (0) | 2018.11.28 |
- Total
- Today
- Yesterday
- Spring
- docker mysql
- Spring Async
- ๊ธฐ์์ฒญAPI
- android
- nestjs doc
- foreignkey
- typeorm ์ฐ๊ฒฐ
- nestjs/cli
- nestjs typeorm
- Request_Limit_Exceeded
- sequelize
- NestJS
- ํ๋ก๊ทธ๋๋จธ์ค
- typeorm
- backend-framework
- node.js backend
- ์๊ณ ๋ฆฌ์ฆ
- JavaScript
- nestjs config
- DeferredResult
- Promise bulk
- nestjs module
- nestjs directory
- ๋น๋๊ธฐ ์์ฒญ
- Promise error
- nestjs project
- node.js
- nestjs configService
- @nestjs/config
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |