" 'const'์ด๊ฑฐ ํ์ ์ธ๋ฑ์ค ํํ์ ์ธ์๋ '๋ฌธ์์ด'์ ํ์ด์ด์ผํฉ๋๋ค."
์ด ์ค๋ฅ ๋ฉ์์ง๋ ๋งค์ฐ ๋ชจํธํฉ๋๋ค.
๊ทธ๋ด ๊ฒ ๊ฐ์
" 'const'์ด๊ฑฐ ํ์ ์ธ๋ฑ์ค ํํ์ ์ธ์๋ ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ด์ด์ผํฉ๋๋ค."
์ปดํ์ผ๋ฌ๊ฐ ๊ทธ๋ ๊ฒํ๊ธฐ ๋๋ฌธ์ :
if (isConstEnumObjectType(objectType) && node.argumentExpression && node.argumentExpression.kind !== SyntaxKind.StringLiteral) {
error(node.argumentExpression, Diagnostics.Index_expression_arguments_in_const_enums_must_be_of_type_string);
}
PR์ ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค
์ด์ "const enum ๋ฉค๋ฒ๋ ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ ์ฌ์ฉํด์ ๋ง ์ก์ธ์ค ํ ์ ์์ต๋๋ค."๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
๋๊ตฐ๊ฐ ๊ฐ์ ๋ฌธ์ ๊ฐ์๋ ๊ฒฝ์ฐ 'const'๋ฅผ ์ ๊ฑฐํ๋ฉด ๋ชจ๋ ๊ฒ์ด ์๋ํฉ๋๋ค.
์ ์ ์ผ๋ก ์ฌ์ค์ด ์๋๋๋ค. ๋ค์๊ณผ ๊ฐ์ดํด์ผํฉ๋๋ค.
enum MyEnum{
A, B, C
}
let index = 2;
// this is how you can get the value from the enum without haveing tslint error message.
(<any>MyEnum)[index]
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋๊ตฐ๊ฐ ๊ฐ์ ๋ฌธ์ ๊ฐ์๋ ๊ฒฝ์ฐ 'const'๋ฅผ ์ ๊ฑฐํ๋ฉด ๋ชจ๋ ๊ฒ์ด ์๋ํฉ๋๋ค.
์ ์ ์ผ๋ก ์ฌ์ค์ด ์๋๋๋ค. ๋ค์๊ณผ ๊ฐ์ดํด์ผํฉ๋๋ค.