Compare commits

...

2 Commits

Author SHA1 Message Date
Primakov Alexandr Alexandrovich
b29bdd31a3 readme files 2024-11-15 18:47:32 +03:00
Primakov Alexandr Alexandrovich
6b64d09397 02 readme 2024-11-15 17:51:11 +03:00
6 changed files with 78 additions and 44 deletions

29
02_basic_config/Readme.md Normal file
View File

@ -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**

View File

@ -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));

View File

@ -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
};
}

View File

@ -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": [

25
05_error/Readme.md Normal file
View File

@ -0,0 +1,25 @@
# Ошибки
> Откройте [пример](./animals.ts)
* запустите typesscript
```shell
tsc
```
> Запустите полученный javascript файл
```shell
node ./animal.js
```
> Обратите внимание на ошибку при запуске
![ts error](../assets/05.png)
> Определите почему именно возникла ошибка
> Обратите внимание что typescript не указал на ошибку до runtime
[Полезные ссылки](./links.md)

View File

@ -1,40 +0,0 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var Animal = /** @class */ (function () {
function Animal() {
}
return Animal;
}());
var Dog = /** @class */ (function (_super) {
__extends(Dog, _super);
function Dog() {
return _super !== null && _super.apply(this, arguments) || this;
}
Dog.prototype.bark = function () { };
return Dog;
}(Animal));
var Cat = /** @class */ (function (_super) {
__extends(Cat, _super);
function Cat() {
return _super !== null && _super.apply(this, arguments) || this;
}
Cat.prototype.meow = function () { };
return Cat;
}(Animal));
var cage1 = [new Dog(), new Dog()];
var cage2 = cage1; // ok
cage2.push(new Cat()); // ok
cage1.forEach(function (dog) { return dog.bark(); }); // ok