let
на каждой итерации создаётся окружение. for(var i = 0; i < 3; i++) {
let j = i; // доступна только на этой итерации в этом блоке
setTimeout(() => console.log(j), 0);
}
/*
0
1
2
*/
interface Package {
id: number;
activated: boolean;
name: string;
}
interface ActivatedPackage extends Package {
activated: true;
}
interface OptionalProps {
foo: string;
bar: number
}
const activatedPackages: Array<ActivatedPackage & Partial<OptionalProps>> = [ ... ];
var array = [
{
'key1': 'value1'
},
{
'key2': 'value2'
},
{'key1': 'value1-b'},
{'key1': 'value1-c'},
]
Массив объектов, в каждом из которых всего по 1 свойству. str
, и на выходе, видимо, массив значений. const getValues = (array, key) => array.filter((item) => item.hasOwnProperty(key))
.map((item) => item[key]);
getValues(array, "key1") // [ "value1", "value1-b", "value1-c" ]
fs.writeFile(file, data[, options], callback)#
History:
- file
<string> | <Buffer> | <URL> | <integer>
filename or file descriptor- data
<string> | <Buffer> | <TypedArray> | <DataView> | <Object>
- options
<Object> | <string>
- encoding
<string> | <null>
Default: 'utf8'- mode
<integer>
Default: 0o666- flag
<string>
See support of file system flags. Default: 'w'.- signal
<AbortSignal>
allows aborting an in-progress writeFile- callback
<Function>
- err
<Error> | <AggregateError>
When file is a filename, asynchronously writes data to the file, replacing the file if it already exists. data can be a string or a buffer.
When file is a file descriptor, the behavior is similar to calling fs.write() directly (which is recommended). See the notes below on using a file descriptor.
The encoding option is ignored if data is a buffer.
If data is a plain object, it must have an own (not inherited) toString function property.
...
fs.write
). После этого нужные пункты оглавления подсветятся желтым и вы легко найдете нужный.