标签: brackets

在Typescript中使用尖括号的规则

什么是规定尖括号的时间,地点,方式和原因的一般规则,即"<...>"应该在TypeScript中使用?

虽然我认为我理解这些括号的许多个人用法,但我很难看到它们的一般使用模式:它们有时似乎先于事物之前,有时候会附加在事物之后; 有时它们用于泛型,有时用于特定类型; 有时它们出现在我可能天真地期望使用冒号语法的地方.

我对TypeScript基础知识有一个相当好的理解:一般来说,我研究了TypeScript主页教程,浏览了TypeScript规范的重要部分,阅读了"Definitive TypeScript Guide"网站,并遵循了"Mastering TypeScript"视频教程.在这个特定主题上,我还搜索了Google和StackOverflow.

我的问题不是理解尖括号的任何特定用途.相反,我想对括号的含义,它们的确切语法,何时应该使用它们,什么时候应该使用等等进行简明但详尽/通用的解释.

更新:

我正在更新我的问题以回应一些评论,以澄清为什么我问这个问题以及我究竟在寻找什么.

让我给予的东西,我的例子来说明我的要求知道的一般规则:在香草的JavaScript花括号.花括号总是出现在一对围绕实体的开合支撑中.该实体可以是两个主要"事物"之一.

首先,花括号可以包围一组语句:

  • 函数,方法,构造函数或生成器的主体,

  • 身体一个if陈述/条款或else条款,

  • 的主体for,for/ of,for/ in,whiledo/ while循环,

  • 主体的try,catchfinally块,或

  • 一个匿名的陈述块.

其次,花括号也可以包含以下列表:

  • 对象文字的属性,

  • 构造函数,属性和/或class声明方法,

  • 要从模块export编辑或import编辑的函数和/或常量,

  • case遵循switch标准,或

  • enum秒.

(此列表是否完整和/或正确不是重点.)

现在想象有人学习JavaScript.到目前为止,她可能已经正确地学会了如何使用花括号来包围一个语句块,即上面第一组中的用法.但是,她偶尔也会在不是语句块的事物周围遇到花括号,例如{a:1, b:2}并且因为这些花括号的内容不是可以执行的语句而感到困惑.或者更糟糕的是,她甚至无法指出一个她不理解的例子.相反,她只是在她的脑海中有这种啃咬的感觉,她遇到的其他人写的代码包含以不熟悉的方式使用的花括号(尽管她不记得在哪里).这使她怀疑她目前对何时使用花括号的理解可能不完整.她没有试图找到她不理解的个别例子,而只是希望有人给她上面的"规则"列表,其中包括使用花括号的地方.

所以,我的问题再次提出以下问题:有人可以为我描述一些一般原则和/或具体规则,这些原则和/或具体规则详尽地描述了在TypeScript中使用尖括号的方式,就像我上面描述的在JavaScript中使用花括号一样?

javascript types brackets typescript

26
推荐指数
1
解决办法
8880
查看次数

SQL Server中别名的方括号和单引号之间有什么区别?

我看到一些人使用单引号别名列名称,例如:

select orderID 'Order No' from orders
Run Code Online (Sandbox Code Playgroud)

和其他人使用方括号,例如:

select orderID [Order No] from orders
Run Code Online (Sandbox Code Playgroud)

我倾向于使用方括号.有偏好/差异吗?

sql-server quotes alias brackets pointer-aliasing

25
推荐指数
3
解决办法
2万
查看次数

双括号"[[foo()]]类型名称的含义;" c ++中的语法?

文章如何避免错误共享,剪断对准下面的代码是提出:

// C++ (using C++0x alignment syntax)
template<typename T>
struct cache_line_storage {
   [[ align(CACHE_LINE_SIZE) ]] T data;
   char pad[ CACHE_LINE_SIZE > sizeof(T)
        ? CACHE_LINE_SIZE - sizeof(T)
        : 1 ];
};
Run Code Online (Sandbox Code Playgroud)

第4行是什么意思?我以前从未见过这种双括号语法.

c++ syntax brackets

24
推荐指数
1
解决办法
1673
查看次数

比赛支架放置算法

给出一个对手种子列表(例如种子1到16),我正在尝试编写一种算法,该算法将导致头号种子在该轮中播放最低种子,第二种子播放第二低种子,等等.

将1和16,2和15等分组为"匹配"相当容易,但我还需要确保较高种子将在后续轮次中播放较低种子.

具有正确位置的示例括号:

1 vs 16
            1 vs 8
8 vs 9
                        1 vs 4
4 vs 13
            4 vs 5
5 vs 12
                                    1 vs 2
2 vs 15
            2 vs 7
7 vs 10
                        2 vs 3
3 vs 14
            3 vs 6
6 vs 11

如你所见,种子1和2只在决赛中见面.

language-agnostic algorithm brackets tournament

22
推荐指数
4
解决办法
2万
查看次数

什么是.net中的括号?

我在c#中看到[]这样的括号非常罕见,但是当我开始学习asp.net时,我已经多次看过它们,但我仍然无法理解它们的作用?

它们不是用于数组的代码的一部分.例如[webmethods],它只是在方法上或者有一些过类.它们是.net的一部分还是只是告诉CLR的东西?要么 ?

.net c# asp.net brackets

21
推荐指数
4
解决办法
4万
查看次数

python中括号的不同含义

我很好奇,3个不同的括号在python编程中意味着什么?我不确定这是否正确,但如果我错了请纠正我.

[] - # Normally used for dictionaries, list items
() - # Used to identify params
{} - # I have no idea what this does... 
Run Code Online (Sandbox Code Playgroud)

或者,如果这些括号可用于其他目的,欢迎任何建议!谢谢!

python brackets

21
推荐指数
2
解决办法
4万
查看次数

20
推荐指数
2
解决办法
6886
查看次数

Prettier 强制无卷曲的单行 if 语句位于同一行,而不是位于下面

阅读EsLint 的文档后,我使用规则curly set 来警告条件语句中的多行或嵌套行语句。

"rules": {
  "curly":["warn", "multi-or-nest"],
  "quotes":"warn"
}
Run Code Online (Sandbox Code Playgroud)

它按预期工作,但是当代码令我满意时,Prettier 给我一个错误,建议条件后面的语句应该放在一行上,这不是我想要的(我也不想使用不必要的花括号) )。

// Preferred style
if(condition)
  doSomething();

if(condition) {
  doSomething();
  doSomethingElse();
}

// Prettier style
if(condition) doSomeSome();

if(condition) {
  doSomething();
  doSomethingElse();
}
Run Code Online (Sandbox Code Playgroud)

我已经检查了 Prettier 的文档,但与我寻找的最接近的是括号间距,这根本不是我想要的。据我所知,没有什么关于多行包围的事情。

我怎样才能让 Prettier 表现得符合我的喜好?(第二个问题:除了官方文档之外,我在哪里可以找到有关其他规则的更多信息?)

注意。不久前提出的一个有点类似的问题没有得到答案,评论建议发帖者接受 Prettier 想要的方式(即强制多余的卷发)。在我看来,计算机告诉我喜欢什么,而不是我告诉它我的some_rc.json文件,这似乎是错误的。

我还发现了一个冗长的讨论,证明自 2017 年以来一直需要这样的选项,所以我倾向于假设它已经实现了(因为我发现很难相信设计者只是无视了这些愿望)。我错了吗?

brackets typescript eslint prettier

20
推荐指数
1
解决办法
9387
查看次数

NetBeans是否有办法在单独的行中自动创建括号?

当我创建一个新类时,我得到这个:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package helloworld;

/**
 *
 * @author Sergio
 */
public class WordManipulations{        
}
Run Code Online (Sandbox Code Playgroud)

当这样放置方括号时,我讨厌它.有没有办法让它创建这样的东西:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package helloworld;

/**
 *
 * @author Sergio
 */
public class WordManipulations 
{

}
Run Code Online (Sandbox Code Playgroud)

java ide netbeans brackets

18
推荐指数
1
解决办法
6783
查看次数

在以json发送数据时,jQuery Form Data中的括号问题

我有这个对象

    var dataformdata={"key1":"value1","key2":"value2"};
Run Code Online (Sandbox Code Playgroud)

然后我用这个相同的键(key3)添加更多的值

    dataformdata.key3 = [];
    dataformdata.key3.push("value3");
    dataformdata.key3.push("value4");
Run Code Online (Sandbox Code Playgroud)

我在每个斜坡做上面的事情.这一切都有效,除了在浏览器控制台中通过jQuery ajax函数发送dataformdata对象时,我看到键中有括号...

$.ajax({ type: "POST", url: "/", data: dataformdata,...

这是我在浏览器控制台中看到的:

key1:value1
key2:value2
key3%5B%5D:value3
key3%5B%5D:value4
Run Code Online (Sandbox Code Playgroud)

它应该工作,因为它在jQuery.ajax()文档中说

对象必须是键/值对.如果value是一个数组,jQuery会根据传统设置的值使用相同的键序列化多个值

但为什么键中的括号(%5B%5D)?

ajax jquery json brackets object

18
推荐指数
2
解决办法
2万
查看次数