diff --git a/02_basic_config/Readme.md b/02_basic_config/Readme.md new file mode 100644 index 0000000..b53a904 --- /dev/null +++ b/02_basic_config/Readme.md @@ -0,0 +1,29 @@ +Рассмотрим трансформацию в разные target и module + +1. Откройте файл **tsconfig.json** + +2. Меняйте значения для полей **target** и **module** и запускайте **tsc** + +пример 1 + +```json +{ + "compilerOptions": { + "target": "ES5", + "module": "ES2015" + } +} +``` + +пример 2 + +```json +{ + "compilerOptions": { + "target": "ESNEXT", + "module": "commonjs" + } +} +``` + +3. Наблюдаем результат выполнения команды tsc в директории **dist** diff --git a/02_basic_config/src/index.ts b/02_basic_config/src/index.ts index f02f602..3a5e342 100644 --- a/02_basic_config/src/index.ts +++ b/02_basic_config/src/index.ts @@ -1,6 +1,8 @@ -import { add } from './utils'; +import { Utils } from './utils'; const a = 1; const b = 22; -console.info(add(a, b)); +const utils = new Utils(a); + +console.info(utils.add(b)); diff --git a/02_basic_config/src/utils.ts b/02_basic_config/src/utils.ts index bc81dd5..b6a3617 100644 --- a/02_basic_config/src/utils.ts +++ b/02_basic_config/src/utils.ts @@ -1 +1,19 @@ export const add = (a: number, b: number) => a + b; + +export class WithValue { + value: number; + constructor (value) { + this.value = value + } +} + +export class Utils extends WithValue { + constructor(value) { + super(value) + } + + add = (...value: number[]) => { + this.value = value?.reduce((acc, nextValue = 0) => add(acc, nextValue), this.value) + return this.value + }; +} diff --git a/02_basic_config/tsconfig.json b/02_basic_config/tsconfig.json index 70ab0dd..6144dac 100644 --- a/02_basic_config/tsconfig.json +++ b/02_basic_config/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { - "target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */ - "module": "UMD", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ + "target": "ES5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */ + "module": "ES2015", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ "outDir": "dist" }, "files": [